1OPENSSL(1)                          OpenSSL                         OPENSSL(1)
2
3
4

NAME

6       openssl - OpenSSL command line tool
7

SYNOPSIS

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

DESCRIPTION

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

COMMAND SUMMARY

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

PASS PHRASE ARGUMENTS

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

SEE ALSO

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

HISTORY

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)
Impressum