1OPENSSL(1) OpenSSL OPENSSL(1)
2
3
4
6 openssl - OpenSSL command line tool
7
9 openssl command [ command_opts ] [ command_args ]
10
11 openssl [ list-standard-commands | list-message-digest-commands | list-
12 cipher-commands | list-cipher-algorithms | list-message-digest-
13 algorithms | list-public-key-algorithms]
14
15 openssl no-XXX [ arbitrary options ]
16
18 OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer
19 (SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and
20 related cryptography standards required by them.
21
22 The openssl program is a command line tool for using the various
23 cryptography functions of OpenSSL's crypto library from the shell. It
24 can be used for
25
26 o Creation and management of private keys, public keys and parameters
27 o Public key cryptographic operations
28 o Creation of X.509 certificates, CSRs and CRLs
29 o Calculation of Message Digests
30 o Encryption and Decryption with Ciphers
31 o SSL/TLS Client and Server Tests
32 o Handling of S/MIME signed or encrypted mail
33 o Time Stamp requests, generation and verification
34
36 The openssl program provides a rich variety of commands (command in the
37 SYNOPSIS above), each of which often has a wealth of options and
38 arguments (command_opts and command_args in the SYNOPSIS).
39
40 The pseudo-commands list-standard-commands, list-message-digest-
41 commands, and list-cipher-commands output a list (one entry per line)
42 of the names of all standard commands, message digest commands, or
43 cipher commands, respectively, that are available in the present
44 openssl utility.
45
46 The pseudo-commands list-cipher-algorithms and list-message-digest-
47 algorithms list all cipher and message digest names, one entry per
48 line. Aliases are listed as:
49
50 from => to
51
52 The pseudo-command list-public-key-algorithms lists all supported
53 public key algorithms.
54
55 The pseudo-command no-XXX tests whether a command of the specified name
56 is available. If no command named XXX exists, it returns 0 (success)
57 and prints no-XXX; otherwise it returns 1 and prints XXX. In both
58 cases, the output goes to stdout and nothing is printed to stderr.
59 Additional command line arguments are always ignored. Since for each
60 cipher there is a command of the same name, this provides an easy way
61 for shell scripts to test for the availability of ciphers in the
62 openssl program. (no-XXX is not able to detect pseudo-commands such as
63 quit, list-...-commands, or no-XXX itself.)
64
65 STANDARD COMMANDS
66 asn1parse Parse an ASN.1 sequence.
67
68 ca Certificate Authority (CA) Management.
69
70 ciphers Cipher Suite Description Determination.
71
72 cms CMS (Cryptographic Message Syntax) utility
73
74 crl Certificate Revocation List (CRL) Management.
75
76 crl2pkcs7 CRL to PKCS#7 Conversion.
77
78 dgst Message Digest Calculation.
79
80 dh Diffie-Hellman Parameter Management. Obsoleted by dhparam.
81
82 dhparam Generation and Management of Diffie-Hellman Parameters.
83 Superseded by genpkey and pkeyparam
84
85 dsa DSA Data Management.
86
87 dsaparam DSA Parameter Generation and Management. Superseded by
88 genpkey and pkeyparam
89
90 ec EC (Elliptic curve) key processing
91
92 ecparam EC parameter manipulation and generation
93
94 enc Encoding with Ciphers.
95
96 engine Engine (loadble module) information and manipulation.
97
98 errstr Error Number to Error String Conversion.
99
100 gendh Generation of Diffie-Hellman Parameters. Obsoleted by
101 dhparam.
102
103 gendsa Generation of DSA Private Key from Parameters. Superseded by
104 genpkey and pkey
105
106 genpkey Generation of Private Key or Parameters.
107
108 genrsa Generation of RSA Private Key. Superceded by genpkey.
109
110 nseq Create or examine a netscape certificate sequence
111
112 ocsp Online Certificate Status Protocol utility.
113
114 passwd Generation of hashed passwords.
115
116 pkcs12 PKCS#12 Data Management.
117
118 pkcs7 PKCS#7 Data Management.
119
120 pkey Public and private key management.
121
122 pkeyparam Public key algorithm parameter management.
123
124 pkeyutl Public key algorithm cryptographic operation utility.
125
126 rand Generate pseudo-random bytes.
127
128 req PKCS#10 X.509 Certificate Signing Request (CSR) Management.
129
130 rsa RSA key management.
131
132 rsautl RSA utility for signing, verification, encryption, and
133 decryption. Superseded by pkeyutl
134
135 s_client This implements a generic SSL/TLS client which can establish
136 a transparent connection to a remote server speaking SSL/TLS.
137 It's intended for testing purposes only and provides only
138 rudimentary interface functionality but internally uses
139 mostly all functionality of the OpenSSL ssl library.
140
141 s_server This implements a generic SSL/TLS server which accepts
142 connections from remote clients speaking SSL/TLS. It's
143 intended for testing purposes only and provides only
144 rudimentary interface functionality but internally uses
145 mostly all functionality of the OpenSSL ssl library. It
146 provides both an own command line oriented protocol for
147 testing SSL functions and a simple HTTP response facility to
148 emulate an SSL/TLS-aware webserver.
149
150 s_time SSL Connection Timer.
151
152 sess_id SSL Session Data Management.
153
154 smime S/MIME mail processing.
155
156 speed Algorithm Speed Measurement.
157
158 spkac SPKAC printing and generating utility
159
160 ts Time Stamping Authority tool (client/server)
161
162 verify X.509 Certificate Verification.
163
164 version OpenSSL Version Information.
165
166 x509 X.509 Certificate Data Management.
167
168 MESSAGE DIGEST COMMANDS
169 md2 MD2 Digest
170
171 md5 MD5 Digest
172
173 mdc2 MDC2 Digest
174
175 rmd160 RMD-160 Digest
176
177 sha SHA Digest
178
179 sha1 SHA-1 Digest
180
181 sha224 SHA-224 Digest
182
183 sha256 SHA-256 Digest
184
185 sha384 SHA-384 Digest
186
187 sha512 SHA-512 Digest
188
189 ENCODING AND CIPHER COMMANDS
190 base64 Base64 Encoding
191
192 bf bf-cbc bf-cfb bf-ecb bf-ofb
193 Blowfish Cipher
194
195 cast cast-cbc
196 CAST Cipher
197
198 cast5-cbc cast5-cfb cast5-ecb cast5-ofb
199 CAST5 Cipher
200
201 des des-cbc des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb des-ede-ofb
202 des-ofb
203 DES Cipher
204
205 des3 desx des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb
206 Triple-DES Cipher
207
208 idea idea-cbc idea-cfb idea-ecb idea-ofb
209 IDEA Cipher
210
211 rc2 rc2-cbc rc2-cfb rc2-ecb rc2-ofb
212 RC2 Cipher
213
214 rc4 RC4 Cipher
215
216 rc5 rc5-cbc rc5-cfb rc5-ecb rc5-ofb
217 RC5 Cipher
218
220 Several commands accept password arguments, typically using -passin and
221 -passout for input and output passwords respectively. These allow the
222 password to be obtained from a variety of sources. Both of these
223 options take a single argument whose format is described below. If no
224 password argument is given and a password is required then the user is
225 prompted to enter one: this will typically be read from the current
226 terminal with echoing turned off.
227
228 pass:password
229 the actual password is password. Since the password is
230 visible to utilities (like 'ps' under Unix) this form should
231 only be used where security is not important.
232
233 env:var obtain the password from the environment variable var. Since
234 the environment of other processes is visible on certain
235 platforms (e.g. ps under certain Unix OSes) this option
236 should be used with caution.
237
238 file:pathname
239 the first line of pathname is the password. If the same
240 pathname argument is supplied to -passin and -passout
241 arguments then the first line will be used for the input
242 password and the next line for the output password. pathname
243 need not refer to a regular file: it could for example refer
244 to a device or named pipe.
245
246 fd:number read the password from the file descriptor number. This can
247 be used to send the data via a pipe for example.
248
249 stdin read the password from standard input.
250
252 asn1parse(1), ca(1), config(5), crl(1), crl2pkcs7(1), dgst(1),
253 dhparam(1), dsa(1), dsaparam(1), enc(1), gendsa(1), genpkey(1),
254 genrsa(1), nseq(1), openssl(1), sslpasswd(1), pkcs12(1), pkcs7(1),
255 pkcs8(1), sslrand(1), req(1), rsa(1), rsautl(1), s_client(1),
256 s_server(1), s_time(1), smime(1), spkac(1), verify(1), version(1),
257 x509(1), crypto(3), ssl(3), x509v3_config(5)
258
260 The openssl(1) document appeared in OpenSSL 0.9.2. The
261 list-XXX-commands pseudo-commands were added in OpenSSL 0.9.3; The
262 list-XXX-algorithms pseudo-commands were added in OpenSSL 1.0.0; the
263 no-XXX pseudo-commands were added in OpenSSL 0.9.5a. For notes on the
264 availability of other commands, see their individual manual pages.
265
266
267
2681.0.1e 2017-03-22 OPENSSL(1)