Unify doc/openssl.pod and doc/man/openssl.pod, which were almost the
[openssl.git] / doc / openssl.pod
1
2 =pod
3
4 =head1 NAME
5
6 openssl - OpenSSL command line tool
7
8 =head1 SYNOPSIS
9
10 B<openssl>
11 I<command>
12 [ I<command_opts> ]
13 [ I<command_args> ]
14
15 =head1 DESCRIPTION
16
17 OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL
18 v2/v3) and Transport Layer Security (TLS v1) network protocols and related
19 cryptography standards required by them.
20
21 The B<openssl> program is a command line tool for using the various
22 cryptography functions of OpenSSL's B<crypto> library from the shell. 
23 It can be used for 
24
25  o  Creation of RSA, DH and DSA key parameters
26  o  Creation of X.509 certificates, CSRs and CRLs 
27  o  Calculation of Message Digests
28  o  Encryption and Decryption with Ciphers
29  o  SSL/TLS Client and Server Tests
30
31 =head1 COMMAND SUMMARY
32
33 The B<openssl> program provides a rich variety of commands (I<command> in the
34 SYNOPSIS above), each of which often has a wealth of options and arguments
35 (I<command_opts> and I<command_args> in the SYNOPSIS).
36
37 =head2 STANDARD COMMANDS
38
39 =over 10
40
41 =item B<asn1parse> 
42
43 Parse an ASN.1 sequence.
44
45 =item B<ca>
46
47 Certificate Authority (CA) Management.  
48
49 =item B<ciphers>
50
51 Cipher Suite Description Determination.
52
53 =item B<crl>
54
55 Certificate Revocation List (CRL) Management.
56
57 =item B<crl2pkcs7>      
58
59 CRL to PKCS#7 Conversion.
60
61 =item B<dgst>
62
63 Message Digest Calculation.
64
65 =item B<dh>
66
67 Diffie-Hellman Data Management.
68
69 =item B<dsa>
70
71 DSA Data Management.
72
73 =item B<dsaparam>
74
75 DSA Parameter Generation.
76
77 =item B<enc>            
78
79 Encoding with Ciphers.
80
81 =item B<errstr>
82
83 Error Number to Error String Conversion.
84
85 =item B<gendh>
86
87 Generation of Diffie-Hellman Parameters.
88
89 =item B<gendsa>
90
91 Generation of DSA Parameters.
92
93 =item B<genrsa>
94
95 Generation of RSA Parameters.
96
97 =item B<pkcs7>
98
99 PKCS#7 Data Management.
100
101 =item B<req>
102
103 X.509 Certificate Signing Request (CSR) Management.
104
105 =item B<rsa>
106
107 RSA Data Management.
108
109 =item B<s_client>
110
111 This implements a generic SSL/TLS client which can establish a transparent
112 connection to a remote server speaking SSL/TLS. It's intended for testing
113 purposes only and provides only rudimentary interface functionality but
114 internally uses mostly all functionality of the OpenSSL B<ssl> library.
115
116 =item B<s_server>
117
118 This implements a generic SSL/TLS server which accepts connections from remote
119 clients speaking SSL/TLS. It's intended for testing purposes only and provides
120 only rudimentary interface functionality but internally uses mostly all
121 functionality of the OpenSSL B<ssl> library.  It provides both an own command
122 line oriented protocol for testing SSL functions and a simple HTTP response
123 facility to emulate an SSL/TLS-aware webserver.
124
125 =item B<s_time>        
126
127 SSL Connection Timer.
128
129 =item B<sess_id>
130
131 SSL Session Data Management.
132
133 =item B<speed>
134
135 Algorithm Speed Measurement.
136
137 =item B<verify>
138
139 X.509 Certificate Verification.
140
141 =item B<version>
142
143 OpenSSL Version Information.
144
145 =item B<x509>           
146
147 X.509 Certificate Data Management.
148
149 =back
150
151 =head2 MESSAGE DIGEST COMMANDS
152
153 =over 10
154
155 =item B<md2>
156
157 MD2 Digest
158
159 =item B<md5>
160
161 MD5 Digest
162
163 =item B<mdc2>
164
165 MDC2 Digest
166
167 =item B<rmd160>
168
169 RMD-160 Digest
170
171 =item B<sha>            
172
173 SHA Digest
174
175 =item B<sha1>           
176
177 SHA-1 Digest
178
179 =back
180
181 =head2 ENCODING AND CIPHER COMMANDS
182
183 =over 10
184
185 =item B<base64>
186
187 Base64 Encoding
188
189 =item B<bf bf-cbc bf-cfb bf-ecb bf-ofb>
190
191 Blowfish Cipher
192
193 =item B<cast cast-cbc>
194
195 CAST Cipher
196
197 =item B<cast5-cbc cast5-cfb cast5-ecb cast5-ofb>
198
199 CAST5 Cipher
200
201 =item B<des des-cbc des-cfb des-ecb des-ede des-ede-cbc des-ede-cfb des-ede-ofb des-ofb>
202
203 DES Cipher
204
205 =item B<des3 desx des-ede3 des-ede3-cbc des-ede3-cfb des-ede3-ofb>
206
207 Triple-DES Cipher
208
209 =item B<idea idea-cbc idea-cfb idea-ecb idea-ofb>
210
211 IDEA Cipher
212
213 =item B<rc2 rc2-cbc rc2-cfb rc2-ecb rc2-ofb>
214
215 RC2 Cipher
216
217 =item B<rc4>
218
219 RC4 Cipher
220
221 =item B<rc5 rc5-cbc rc5-cfb rc5-ecb rc5-ofb>
222
223 RC5 Cipher
224
225 =back
226
227 =head1 DETAILED COMMAND DESCRIPTION
228
229 The following is a detailed description of every B<openssl> I<command>.
230 (No, it isn't; this is here temporarily and should be in separate
231 files for s_client and for s_server.)
232
233 =over 4
234
235 =item B<openssl> B<s_client>
236 [B<-connect> I<host>B<:>I<port>]
237 [B<-verify> I<arg>]
238 [B<-cert> I<arg>]
239 [B<-key> I<arg>]
240 [B<-CApath> I<arg>]
241 [B<-CAfile> I<arg>]
242 [B<-reconnect>]
243 [B<-pause>]
244 [B<-debug>]
245 [B<-nbio_test>]
246 [B<-state>]
247 [B<-nbio>]
248 [B<-quiet>]
249 [B<-ssl2>]
250 [B<-ssl3>]
251 [B<-tls1>]
252 [B<-no_ssl2>]
253 [B<-no_ssl3>]
254 [B<-no_tls1>]
255 [B<-bugs>]
256 [B<-cipher>]
257
258 The B<s_client> command implements a generic SSL/TLS client which can
259 establish a transparent connection to a remote I<host> and I<port> speaking
260 SSL/TLS. 
261
262 =item B<openssl> B<s_server>
263 [B<-accept> I<port>]
264 [B<-verify> I<arg>]
265 [B<-Verify> I<arg>]
266 [B<-cert> I<arg>]
267 [B<-key> I<arg>]
268 [B<-dcert> I<arg>]
269 [B<-dkey> I<arg>]
270 [B<-nbio>]
271 [B<-nbio_test>]
272 [B<-debug>]
273 [B<-state>]
274 [B<-CApath> I<arg>]
275 [B<-CAfile> I<arg>]
276 [B<-nocert>]
277 [B<-cipher> I<arg>]
278 [B<-quiet>]
279 [B<-no_tmp_rsa>]
280 [B<-ssl2>]
281 [B<-ssl3>]
282 [B<-tls1>]
283 [B<-no_ssl2>]
284 [B<-no_ssl3>]
285 [B<-no_tls1>]
286 [B<-bugs>]
287 [B<-www>]
288 [B<-WWW>]
289
290 The B<s_server> command implements a generic SSL/TLS server which accepts
291 connections from remote clients on I<port> speaking SSL/TLS.
292
293 =back
294
295 ...
296
297 =head1 SEE ALSO
298
299 asn1parse(1), ca(1), config(1), crl(1), crl2pkcs7(1), dgst(1), dh(1),
300 dsa(1), dsaparam(1), enc(1), gendh(1), gendsa(1), genrsa(1), nseq(1),
301 openssl(1), pkcs12(1), pkcs7(1), pkcs8(1), req(1), rsa(1), smime(1),
302 spkac(1), verify(1), version(1), x509(1),
303 crypto(3), ssl(3)
304
305 =head1 HISTORY
306
307 The openssl(1) document appeared in OpenSSL 0.9.2
308
309 =cut
310