xref: /minix3/crypto/external/bsd/openssl/dist/doc/apps/s_server.pod (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1ebfedea0SLionel Sambuc
2ebfedea0SLionel Sambuc=pod
3ebfedea0SLionel Sambuc
4ebfedea0SLionel Sambuc=head1 NAME
5ebfedea0SLionel Sambuc
6ebfedea0SLionel Sambucs_server - SSL/TLS server program
7ebfedea0SLionel Sambuc
8ebfedea0SLionel Sambuc=head1 SYNOPSIS
9ebfedea0SLionel Sambuc
10ebfedea0SLionel SambucB<openssl> B<s_server>
11ebfedea0SLionel Sambuc[B<-accept port>]
12ebfedea0SLionel Sambuc[B<-context id>]
13ebfedea0SLionel Sambuc[B<-verify depth>]
14ebfedea0SLionel Sambuc[B<-Verify depth>]
15ebfedea0SLionel Sambuc[B<-crl_check>]
16ebfedea0SLionel Sambuc[B<-crl_check_all>]
17ebfedea0SLionel Sambuc[B<-cert filename>]
18ebfedea0SLionel Sambuc[B<-certform DER|PEM>]
19ebfedea0SLionel Sambuc[B<-key keyfile>]
20ebfedea0SLionel Sambuc[B<-keyform DER|PEM>]
21ebfedea0SLionel Sambuc[B<-pass arg>]
22ebfedea0SLionel Sambuc[B<-dcert filename>]
23ebfedea0SLionel Sambuc[B<-dcertform DER|PEM>]
24ebfedea0SLionel Sambuc[B<-dkey keyfile>]
25ebfedea0SLionel Sambuc[B<-dkeyform DER|PEM>]
26ebfedea0SLionel Sambuc[B<-dpass arg>]
27ebfedea0SLionel Sambuc[B<-dhparam filename>]
28ebfedea0SLionel Sambuc[B<-nbio>]
29ebfedea0SLionel Sambuc[B<-nbio_test>]
30ebfedea0SLionel Sambuc[B<-crlf>]
31ebfedea0SLionel Sambuc[B<-debug>]
32ebfedea0SLionel Sambuc[B<-msg>]
33ebfedea0SLionel Sambuc[B<-state>]
34ebfedea0SLionel Sambuc[B<-CApath directory>]
35ebfedea0SLionel Sambuc[B<-CAfile filename>]
36*0a6a1f1dSLionel Sambuc[B<-no_alt_chains>]
37ebfedea0SLionel Sambuc[B<-nocert>]
38ebfedea0SLionel Sambuc[B<-cipher cipherlist>]
39*0a6a1f1dSLionel Sambuc[B<-serverpref>]
40ebfedea0SLionel Sambuc[B<-quiet>]
41ebfedea0SLionel Sambuc[B<-no_tmp_rsa>]
42ebfedea0SLionel Sambuc[B<-ssl2>]
43ebfedea0SLionel Sambuc[B<-ssl3>]
44ebfedea0SLionel Sambuc[B<-tls1>]
45ebfedea0SLionel Sambuc[B<-no_ssl2>]
46ebfedea0SLionel Sambuc[B<-no_ssl3>]
47ebfedea0SLionel Sambuc[B<-no_tls1>]
48ebfedea0SLionel Sambuc[B<-no_dhe>]
49*0a6a1f1dSLionel Sambuc[B<-no_ecdhe>]
50ebfedea0SLionel Sambuc[B<-bugs>]
51ebfedea0SLionel Sambuc[B<-hack>]
52ebfedea0SLionel Sambuc[B<-www>]
53ebfedea0SLionel Sambuc[B<-WWW>]
54ebfedea0SLionel Sambuc[B<-HTTP>]
55ebfedea0SLionel Sambuc[B<-engine id>]
56ebfedea0SLionel Sambuc[B<-tlsextdebug>]
57ebfedea0SLionel Sambuc[B<-no_ticket>]
58ebfedea0SLionel Sambuc[B<-id_prefix arg>]
59ebfedea0SLionel Sambuc[B<-rand file(s)>]
60*0a6a1f1dSLionel Sambuc[B<-status>]
61*0a6a1f1dSLionel Sambuc[B<-status_verbose>]
62*0a6a1f1dSLionel Sambuc[B<-status_timeout nsec>]
63*0a6a1f1dSLionel Sambuc[B<-status_url url>]
64*0a6a1f1dSLionel Sambuc[B<-nextprotoneg protocols>]
65ebfedea0SLionel Sambuc
66ebfedea0SLionel Sambuc=head1 DESCRIPTION
67ebfedea0SLionel Sambuc
68ebfedea0SLionel SambucThe B<s_server> command implements a generic SSL/TLS server which listens
69ebfedea0SLionel Sambucfor connections on a given port using SSL/TLS.
70ebfedea0SLionel Sambuc
71ebfedea0SLionel Sambuc=head1 OPTIONS
72ebfedea0SLionel Sambuc
73ebfedea0SLionel Sambuc=over 4
74ebfedea0SLionel Sambuc
75ebfedea0SLionel Sambuc=item B<-accept port>
76ebfedea0SLionel Sambuc
77ebfedea0SLionel Sambucthe TCP port to listen on for connections. If not specified 4433 is used.
78ebfedea0SLionel Sambuc
79ebfedea0SLionel Sambuc=item B<-context id>
80ebfedea0SLionel Sambuc
81ebfedea0SLionel Sambucsets the SSL context id. It can be given any string value. If this option
82ebfedea0SLionel Sambucis not present a default value will be used.
83ebfedea0SLionel Sambuc
84ebfedea0SLionel Sambuc=item B<-cert certname>
85ebfedea0SLionel Sambuc
86ebfedea0SLionel SambucThe certificate to use, most servers cipher suites require the use of a
87ebfedea0SLionel Sambuccertificate and some require a certificate with a certain public key type:
88ebfedea0SLionel Sambucfor example the DSS cipher suites require a certificate containing a DSS
89ebfedea0SLionel Sambuc(DSA) key. If not specified then the filename "server.pem" will be used.
90ebfedea0SLionel Sambuc
91ebfedea0SLionel Sambuc=item B<-certform format>
92ebfedea0SLionel Sambuc
93ebfedea0SLionel SambucThe certificate format to use: DER or PEM. PEM is the default.
94ebfedea0SLionel Sambuc
95ebfedea0SLionel Sambuc=item B<-key keyfile>
96ebfedea0SLionel Sambuc
97ebfedea0SLionel SambucThe private key to use. If not specified then the certificate file will
98ebfedea0SLionel Sambucbe used.
99ebfedea0SLionel Sambuc
100ebfedea0SLionel Sambuc=item B<-keyform format>
101ebfedea0SLionel Sambuc
102ebfedea0SLionel SambucThe private format to use: DER or PEM. PEM is the default.
103ebfedea0SLionel Sambuc
104ebfedea0SLionel Sambuc=item B<-pass arg>
105ebfedea0SLionel Sambuc
106ebfedea0SLionel Sambucthe private key password source. For more information about the format of B<arg>
107ebfedea0SLionel Sambucsee the B<PASS PHRASE ARGUMENTS> section in L<openssl(1)|openssl(1)>.
108ebfedea0SLionel Sambuc
109ebfedea0SLionel Sambuc=item B<-dcert filename>, B<-dkey keyname>
110ebfedea0SLionel Sambuc
111ebfedea0SLionel Sambucspecify an additional certificate and private key, these behave in the
112ebfedea0SLionel Sambucsame manner as the B<-cert> and B<-key> options except there is no default
113ebfedea0SLionel Sambucif they are not specified (no additional certificate and key is used). As
114ebfedea0SLionel Sambucnoted above some cipher suites require a certificate containing a key of
115ebfedea0SLionel Sambuca certain type. Some cipher suites need a certificate carrying an RSA key
116ebfedea0SLionel Sambucand some a DSS (DSA) key. By using RSA and DSS certificates and keys
117ebfedea0SLionel Sambuca server can support clients which only support RSA or DSS cipher suites
118ebfedea0SLionel Sambucby using an appropriate certificate.
119ebfedea0SLionel Sambuc
120ebfedea0SLionel Sambuc=item B<-dcertform format>, B<-dkeyform format>, B<-dpass arg>
121ebfedea0SLionel Sambuc
122*0a6a1f1dSLionel Sambucadditional certificate and private key format and passphrase respectively.
123ebfedea0SLionel Sambuc
124ebfedea0SLionel Sambuc=item B<-nocert>
125ebfedea0SLionel Sambuc
126ebfedea0SLionel Sambucif this option is set then no certificate is used. This restricts the
127ebfedea0SLionel Sambuccipher suites available to the anonymous ones (currently just anonymous
128ebfedea0SLionel SambucDH).
129ebfedea0SLionel Sambuc
130ebfedea0SLionel Sambuc=item B<-dhparam filename>
131ebfedea0SLionel Sambuc
132ebfedea0SLionel Sambucthe DH parameter file to use. The ephemeral DH cipher suites generate keys
133ebfedea0SLionel Sambucusing a set of DH parameters. If not specified then an attempt is made to
134ebfedea0SLionel Sambucload the parameters from the server certificate file. If this fails then
135ebfedea0SLionel Sambuca static set of parameters hard coded into the s_server program will be used.
136ebfedea0SLionel Sambuc
137ebfedea0SLionel Sambuc=item B<-no_dhe>
138ebfedea0SLionel Sambuc
139ebfedea0SLionel Sambucif this option is set then no DH parameters will be loaded effectively
140ebfedea0SLionel Sambucdisabling the ephemeral DH cipher suites.
141ebfedea0SLionel Sambuc
142*0a6a1f1dSLionel Sambuc=item B<-no_ecdhe>
143*0a6a1f1dSLionel Sambuc
144*0a6a1f1dSLionel Sambucif this option is set then no ECDH parameters will be loaded effectively
145*0a6a1f1dSLionel Sambucdisabling the ephemeral ECDH cipher suites.
146*0a6a1f1dSLionel Sambuc
147ebfedea0SLionel Sambuc=item B<-no_tmp_rsa>
148ebfedea0SLionel Sambuc
149ebfedea0SLionel Sambuccertain export cipher suites sometimes use a temporary RSA key, this option
150ebfedea0SLionel Sambucdisables temporary RSA key generation.
151ebfedea0SLionel Sambuc
152ebfedea0SLionel Sambuc=item B<-verify depth>, B<-Verify depth>
153ebfedea0SLionel Sambuc
154ebfedea0SLionel SambucThe verify depth to use. This specifies the maximum length of the
155ebfedea0SLionel Sambucclient certificate chain and makes the server request a certificate from
156ebfedea0SLionel Sambucthe client. With the B<-verify> option a certificate is requested but the
157ebfedea0SLionel Sambucclient does not have to send one, with the B<-Verify> option the client
158ebfedea0SLionel Sambucmust supply a certificate or an error occurs.
159ebfedea0SLionel Sambuc
160*0a6a1f1dSLionel SambucIf the ciphersuite cannot request a client certificate (for example an
161*0a6a1f1dSLionel Sambucanonymous ciphersuite or PSK) this option has no effect.
162*0a6a1f1dSLionel Sambuc
163ebfedea0SLionel Sambuc=item B<-crl_check>, B<-crl_check_all>
164ebfedea0SLionel Sambuc
165ebfedea0SLionel SambucCheck the peer certificate has not been revoked by its CA.
166ebfedea0SLionel SambucThe CRL(s) are appended to the certificate file. With the B<-crl_check_all>
167ebfedea0SLionel Sambucoption all CRLs of all CAs in the chain are checked.
168ebfedea0SLionel Sambuc
169ebfedea0SLionel Sambuc=item B<-CApath directory>
170ebfedea0SLionel Sambuc
171ebfedea0SLionel SambucThe directory to use for client certificate verification. This directory
172ebfedea0SLionel Sambucmust be in "hash format", see B<verify> for more information. These are
173ebfedea0SLionel Sambucalso used when building the server certificate chain.
174ebfedea0SLionel Sambuc
175ebfedea0SLionel Sambuc=item B<-CAfile file>
176ebfedea0SLionel Sambuc
177ebfedea0SLionel SambucA file containing trusted certificates to use during client authentication
178ebfedea0SLionel Sambucand to use when attempting to build the server certificate chain. The list
179ebfedea0SLionel Sambucis also used in the list of acceptable client CAs passed to the client when
180ebfedea0SLionel Sambuca certificate is requested.
181ebfedea0SLionel Sambuc
182*0a6a1f1dSLionel Sambuc=item B<-no_alt_chains>
183*0a6a1f1dSLionel Sambuc
184*0a6a1f1dSLionel SambucSee the L<B<verify>|verify(1)> manual page for details.
185*0a6a1f1dSLionel Sambuc
186ebfedea0SLionel Sambuc=item B<-state>
187ebfedea0SLionel Sambuc
188ebfedea0SLionel Sambucprints out the SSL session states.
189ebfedea0SLionel Sambuc
190ebfedea0SLionel Sambuc=item B<-debug>
191ebfedea0SLionel Sambuc
192ebfedea0SLionel Sambucprint extensive debugging information including a hex dump of all traffic.
193ebfedea0SLionel Sambuc
194ebfedea0SLionel Sambuc=item B<-msg>
195ebfedea0SLionel Sambuc
196ebfedea0SLionel Sambucshow all protocol messages with hex dump.
197ebfedea0SLionel Sambuc
198ebfedea0SLionel Sambuc=item B<-nbio_test>
199ebfedea0SLionel Sambuc
200ebfedea0SLionel Sambuctests non blocking I/O
201ebfedea0SLionel Sambuc
202ebfedea0SLionel Sambuc=item B<-nbio>
203ebfedea0SLionel Sambuc
204ebfedea0SLionel Sambucturns on non blocking I/O
205ebfedea0SLionel Sambuc
206ebfedea0SLionel Sambuc=item B<-crlf>
207ebfedea0SLionel Sambuc
208ebfedea0SLionel Sambucthis option translated a line feed from the terminal into CR+LF.
209ebfedea0SLionel Sambuc
210ebfedea0SLionel Sambuc=item B<-quiet>
211ebfedea0SLionel Sambuc
212ebfedea0SLionel Sambucinhibit printing of session and certificate information.
213ebfedea0SLionel Sambuc
214ebfedea0SLionel Sambuc=item B<-psk_hint hint>
215ebfedea0SLionel Sambuc
216ebfedea0SLionel SambucUse the PSK identity hint B<hint> when using a PSK cipher suite.
217ebfedea0SLionel Sambuc
218ebfedea0SLionel Sambuc=item B<-psk key>
219ebfedea0SLionel Sambuc
220ebfedea0SLionel SambucUse the PSK key B<key> when using a PSK cipher suite. The key is
221ebfedea0SLionel Sambucgiven as a hexadecimal number without leading 0x, for example -psk
222ebfedea0SLionel Sambuc1a2b3c4d.
223ebfedea0SLionel Sambuc
224ebfedea0SLionel Sambuc=item B<-ssl2>, B<-ssl3>, B<-tls1>, B<-no_ssl2>, B<-no_ssl3>, B<-no_tls1>
225ebfedea0SLionel Sambuc
226ebfedea0SLionel Sambucthese options disable the use of certain SSL or TLS protocols. By default
227ebfedea0SLionel Sambucthe initial handshake uses a method which should be compatible with all
228ebfedea0SLionel Sambucservers and permit them to use SSL v3, SSL v2 or TLS as appropriate.
229ebfedea0SLionel Sambuc
230ebfedea0SLionel Sambuc=item B<-bugs>
231ebfedea0SLionel Sambuc
232ebfedea0SLionel Sambucthere are several known bug in SSL and TLS implementations. Adding this
233ebfedea0SLionel Sambucoption enables various workarounds.
234ebfedea0SLionel Sambuc
235ebfedea0SLionel Sambuc=item B<-hack>
236ebfedea0SLionel Sambuc
237ebfedea0SLionel Sambucthis option enables a further workaround for some some early Netscape
238ebfedea0SLionel SambucSSL code (?).
239ebfedea0SLionel Sambuc
240ebfedea0SLionel Sambuc=item B<-cipher cipherlist>
241ebfedea0SLionel Sambuc
242ebfedea0SLionel Sambucthis allows the cipher list used by the server to be modified.  When
243ebfedea0SLionel Sambucthe client sends a list of supported ciphers the first client cipher
244ebfedea0SLionel Sambucalso included in the server list is used. Because the client specifies
245ebfedea0SLionel Sambucthe preference order, the order of the server cipherlist irrelevant. See
246ebfedea0SLionel Sambucthe B<ciphers> command for more information.
247ebfedea0SLionel Sambuc
248*0a6a1f1dSLionel Sambuc=item B<-serverpref>
249*0a6a1f1dSLionel Sambuc
250*0a6a1f1dSLionel Sambucuse the server's cipher preferences, rather than the client's preferences.
251*0a6a1f1dSLionel Sambuc
252ebfedea0SLionel Sambuc=item B<-tlsextdebug>
253ebfedea0SLionel Sambuc
254ebfedea0SLionel Sambucprint out a hex dump of any TLS extensions received from the server.
255ebfedea0SLionel Sambuc
256ebfedea0SLionel Sambuc=item B<-no_ticket>
257ebfedea0SLionel Sambuc
258ebfedea0SLionel Sambucdisable RFC4507bis session ticket support.
259ebfedea0SLionel Sambuc
260ebfedea0SLionel Sambuc=item B<-www>
261ebfedea0SLionel Sambuc
262ebfedea0SLionel Sambucsends a status message back to the client when it connects. This includes
263ebfedea0SLionel Sambuclots of information about the ciphers used and various session parameters.
264ebfedea0SLionel SambucThe output is in HTML format so this option will normally be used with a
265ebfedea0SLionel Sambucweb browser.
266ebfedea0SLionel Sambuc
267ebfedea0SLionel Sambuc=item B<-WWW>
268ebfedea0SLionel Sambuc
269ebfedea0SLionel Sambucemulates a simple web server. Pages will be resolved relative to the
270ebfedea0SLionel Sambuccurrent directory, for example if the URL https://myhost/page.html is
271ebfedea0SLionel Sambucrequested the file ./page.html will be loaded.
272ebfedea0SLionel Sambuc
273ebfedea0SLionel Sambuc=item B<-HTTP>
274ebfedea0SLionel Sambuc
275ebfedea0SLionel Sambucemulates a simple web server. Pages will be resolved relative to the
276ebfedea0SLionel Sambuccurrent directory, for example if the URL https://myhost/page.html is
277ebfedea0SLionel Sambucrequested the file ./page.html will be loaded. The files loaded are
278ebfedea0SLionel Sambucassumed to contain a complete and correct HTTP response (lines that
279ebfedea0SLionel Sambucare part of the HTTP response line and headers must end with CRLF).
280ebfedea0SLionel Sambuc
281ebfedea0SLionel Sambuc=item B<-engine id>
282ebfedea0SLionel Sambuc
283ebfedea0SLionel Sambucspecifying an engine (by its unique B<id> string) will cause B<s_server>
284ebfedea0SLionel Sambucto attempt to obtain a functional reference to the specified engine,
285ebfedea0SLionel Sambucthus initialising it if needed. The engine will then be set as the default
286ebfedea0SLionel Sambucfor all available algorithms.
287ebfedea0SLionel Sambuc
288ebfedea0SLionel Sambuc=item B<-id_prefix arg>
289ebfedea0SLionel Sambuc
290ebfedea0SLionel Sambucgenerate SSL/TLS session IDs prefixed by B<arg>. This is mostly useful
291ebfedea0SLionel Sambucfor testing any SSL/TLS code (eg. proxies) that wish to deal with multiple
292ebfedea0SLionel Sambucservers, when each of which might be generating a unique range of session
293ebfedea0SLionel SambucIDs (eg. with a certain prefix).
294ebfedea0SLionel Sambuc
295ebfedea0SLionel Sambuc=item B<-rand file(s)>
296ebfedea0SLionel Sambuc
297ebfedea0SLionel Sambuca file or files containing random data used to seed the random number
298ebfedea0SLionel Sambucgenerator, or an EGD socket (see L<RAND_egd(3)|RAND_egd(3)>).
299ebfedea0SLionel SambucMultiple files can be specified separated by a OS-dependent character.
300ebfedea0SLionel SambucThe separator is B<;> for MS-Windows, B<,> for OpenVMS, and B<:> for
301ebfedea0SLionel Sambucall others.
302ebfedea0SLionel Sambuc
303*0a6a1f1dSLionel Sambuc=item B<-status>
304*0a6a1f1dSLionel Sambuc
305*0a6a1f1dSLionel Sambucenables certificate status request support (aka OCSP stapling).
306*0a6a1f1dSLionel Sambuc
307*0a6a1f1dSLionel Sambuc=item B<-status_verbose>
308*0a6a1f1dSLionel Sambuc
309*0a6a1f1dSLionel Sambucenables certificate status request support (aka OCSP stapling) and gives
310*0a6a1f1dSLionel Sambuca verbose printout of the OCSP response.
311*0a6a1f1dSLionel Sambuc
312*0a6a1f1dSLionel Sambuc=item B<-status_timeout nsec>
313*0a6a1f1dSLionel Sambuc
314*0a6a1f1dSLionel Sambucsets the timeout for OCSP response to B<nsec> seconds.
315*0a6a1f1dSLionel Sambuc
316*0a6a1f1dSLionel Sambuc=item B<-status_url url>
317*0a6a1f1dSLionel Sambuc
318*0a6a1f1dSLionel Sambucsets a fallback responder URL to use if no responder URL is present in the
319*0a6a1f1dSLionel Sambucserver certificate. Without this option an error is returned if the server
320*0a6a1f1dSLionel Sambuccertificate does not contain a responder address.
321*0a6a1f1dSLionel Sambuc
322*0a6a1f1dSLionel Sambuc=item B<-nextprotoneg protocols>
323*0a6a1f1dSLionel Sambuc
324*0a6a1f1dSLionel Sambucenable Next Protocol Negotiation TLS extension and provide a
325*0a6a1f1dSLionel Sambuccomma-separated list of supported protocol names.
326*0a6a1f1dSLionel SambucThe list should contain most wanted protocols first.
327*0a6a1f1dSLionel SambucProtocol names are printable ASCII strings, for example "http/1.1" or
328*0a6a1f1dSLionel Sambuc"spdy/3".
329*0a6a1f1dSLionel Sambuc
330ebfedea0SLionel Sambuc=back
331ebfedea0SLionel Sambuc
332ebfedea0SLionel Sambuc=head1 CONNECTED COMMANDS
333ebfedea0SLionel Sambuc
334ebfedea0SLionel SambucIf a connection request is established with an SSL client and neither the
335ebfedea0SLionel SambucB<-www> nor the B<-WWW> option has been used then normally any data received
336ebfedea0SLionel Sambucfrom the client is displayed and any key presses will be sent to the client.
337ebfedea0SLionel Sambuc
338ebfedea0SLionel SambucCertain single letter commands are also recognized which perform special
339ebfedea0SLionel Sambucoperations: these are listed below.
340ebfedea0SLionel Sambuc
341ebfedea0SLionel Sambuc=over 4
342ebfedea0SLionel Sambuc
343ebfedea0SLionel Sambuc=item B<q>
344ebfedea0SLionel Sambuc
345ebfedea0SLionel Sambucend the current SSL connection but still accept new connections.
346ebfedea0SLionel Sambuc
347ebfedea0SLionel Sambuc=item B<Q>
348ebfedea0SLionel Sambuc
349ebfedea0SLionel Sambucend the current SSL connection and exit.
350ebfedea0SLionel Sambuc
351ebfedea0SLionel Sambuc=item B<r>
352ebfedea0SLionel Sambuc
353ebfedea0SLionel Sambucrenegotiate the SSL session.
354ebfedea0SLionel Sambuc
355ebfedea0SLionel Sambuc=item B<R>
356ebfedea0SLionel Sambuc
357ebfedea0SLionel Sambucrenegotiate the SSL session and request a client certificate.
358ebfedea0SLionel Sambuc
359ebfedea0SLionel Sambuc=item B<P>
360ebfedea0SLionel Sambuc
361ebfedea0SLionel Sambucsend some plain text down the underlying TCP connection: this should
362ebfedea0SLionel Sambuccause the client to disconnect due to a protocol violation.
363ebfedea0SLionel Sambuc
364ebfedea0SLionel Sambuc=item B<S>
365ebfedea0SLionel Sambuc
366ebfedea0SLionel Sambucprint out some session cache status information.
367ebfedea0SLionel Sambuc
368ebfedea0SLionel Sambuc=back
369ebfedea0SLionel Sambuc
370ebfedea0SLionel Sambuc=head1 NOTES
371ebfedea0SLionel Sambuc
372ebfedea0SLionel SambucB<s_server> can be used to debug SSL clients. To accept connections from
373ebfedea0SLionel Sambuca web browser the command:
374ebfedea0SLionel Sambuc
375ebfedea0SLionel Sambuc openssl s_server -accept 443 -www
376ebfedea0SLionel Sambuc
377ebfedea0SLionel Sambuccan be used for example.
378ebfedea0SLionel Sambuc
379ebfedea0SLionel SambucMost web browsers (in particular Netscape and MSIE) only support RSA cipher
380ebfedea0SLionel Sambucsuites, so they cannot connect to servers which don't use a certificate
381ebfedea0SLionel Sambuccarrying an RSA key or a version of OpenSSL with RSA disabled.
382ebfedea0SLionel Sambuc
383ebfedea0SLionel SambucAlthough specifying an empty list of CAs when requesting a client certificate
384ebfedea0SLionel Sambucis strictly speaking a protocol violation, some SSL clients interpret this to
385ebfedea0SLionel Sambucmean any CA is acceptable. This is useful for debugging purposes.
386ebfedea0SLionel Sambuc
387ebfedea0SLionel SambucThe session parameters can printed out using the B<sess_id> program.
388ebfedea0SLionel Sambuc
389ebfedea0SLionel Sambuc=head1 BUGS
390ebfedea0SLionel Sambuc
391ebfedea0SLionel SambucBecause this program has a lot of options and also because some of
392ebfedea0SLionel Sambucthe techniques used are rather old, the C source of s_server is rather
393ebfedea0SLionel Sambuchard to read and not a model of how things should be done. A typical
394ebfedea0SLionel SambucSSL server program would be much simpler.
395ebfedea0SLionel Sambuc
396ebfedea0SLionel SambucThe output of common ciphers is wrong: it just gives the list of ciphers that
397ebfedea0SLionel SambucOpenSSL recognizes and the client supports.
398ebfedea0SLionel Sambuc
399ebfedea0SLionel SambucThere should be a way for the B<s_server> program to print out details of any
400ebfedea0SLionel Sambucunknown cipher suites a client says it supports.
401ebfedea0SLionel Sambuc
402ebfedea0SLionel Sambuc=head1 SEE ALSO
403ebfedea0SLionel Sambuc
404ebfedea0SLionel SambucL<sess_id(1)|sess_id(1)>, L<s_client(1)|s_client(1)>, L<ciphers(1)|ciphers(1)>
405ebfedea0SLionel Sambuc
406*0a6a1f1dSLionel Sambuc=head1 HISTORY
407*0a6a1f1dSLionel Sambuc
408*0a6a1f1dSLionel SambucThe -no_alt_chains options was first added to OpenSSL 1.0.1n and 1.0.2b.
409*0a6a1f1dSLionel Sambuc
410ebfedea0SLionel Sambuc=cut
411