summaryrefslogtreecommitdiffstats
path: root/doc/openssl.pod
blob: f7b841533457929d6c7d2133e146018c8da0050f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
=pod

=head1 NAME

openssl - OpenSSL command line tool

=head1 SYNOPSIS

B<openssl>
I<command>
[ I<command_opts> ]
[ I<command_args> ]

=head1 DESCRIPTION

OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer (SSL
v2/v3) and Transport Layer Security (TLS v1) network protocols and related
cryptography standards required by them.

The B<openssl> program is a command line tool for using the various
cryptography functions of OpenSSL's B<crypto> library from the shell. 
It can be used for 

 o  Creation of RSA, DH and DSA key parameters
 o  Creattion of X.509 certificates, CSRs and CRLs 
 o  Calculation of Message Digests
 o  Encryption and Decryption with Ciphers
 o  SSL/TLS Client and Server Tests

=head1 COMMAND SUMMARY

The B<openssl> program provides a rich variety of commands (I<command> in the
SYNOPSIS above), each of which often has a wealth of options and arguments
(I<command_opts> and I<command_args> in the SYNOPSIS).

=over 10

=item B<s_client>

This implements a generic SSL/TLS client which can establish a transparent
connection to a remote server speaking SSL/TLS. It's intended for testing
purposes only and provides only rudimentary interface functionality but
internally uses mostly all functionality of the OpenSSL B<ssl> library.

=item B<s_server>

This implements a generic SSL/TLS server which accepts connections from remote
clients speaking SSL/TLS. It's intended for testing purposes only and provides
only rudimentary interface functionality but internally uses mostly all
functionality of the OpenSSL B<ssl> library.  It provides both an own command
line oriented protocol for testing SSL functions and a simple HTTP response
facility to emulate an SSL/TLS-aware webserver.

=back

=head1 DETAILED COMMAND DESCRIPTION

The following is a detailed description of every B<openssl> I<command>.

=over 4

=item B<openssl> B<s_client>
[B<-connect> I<host>B<:>I<port>]
[B<-verify> I<arg>]
[B<-cert> I<arg>]
[B<-key> I<arg>]
[B<-CApath> I<arg>]
[B<-CAfile> I<arg>]
[B<-reconnect>]
[B<-pause>]
[B<-debug>]
[B<-nbio_test>]
[B<-state>]
[B<-nbio>]
[B<-quiet>]
[B<-ssl2>]
[B<-ssl3>]
[B<-tls1>]
[B<-no_ssl2>]
[B<-no_ssl3>]
[B<-no_tls1>]
[B<-bugs>]
[B<-cipher>]

The B<s_client> command implements a generic SSL/TLS client which can
establish a transparent connection to a remote I<host> and I<port> speaking
SSL/TLS. 

=item B<openssl> B<s_server>
[B<-accept> I<port>]
[B<-verify> I<arg>]
[B<-Verify> I<arg>]
[B<-cert> I<arg>]
[B<-key> I<arg>]
[B<-nbio>]
[B<-nbio_test>]
[B<-debug>]
[B<-state>]
[B<-CApath> I<arg>]
[B<-CAfile> I<arg>]
[B<-nocert>]
[B<-cipher> I<arg>]
[B<-quiet>]
[B<-no_tmp_rsa>]
[B<-ssl2>]
[B<-ssl3>]
[B<-tls1>]
[B<-no_ssl2>]
[B<-no_ssl3>]
[B<-no_tls1>]
[B<-bugs>]
[B<-www>]
[B<-WWW>]

The B<s_server> command implements a generic SSL/TLS server which accepts
connections from remote clients on I<port> speaking SSL/TLS.

=back

...

=head1 SEE ALSO

crypto(3), ssl(3)

=head1 AUTHORS

Ralf S. Engelschall

=cut