Deleted Added
full compact
s_client.1 (273399) s_client.1 (279264)
1.\" Automatically generated by Pod::Man 2.25 (Pod::Simple 3.28)
1.\" Automatically generated by Pod::Man 2.27 (Pod::Simple 3.28)
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sp \" Vertical space (when we can't use .PP)
6.if t .sp .5v
7.if n .sp
8..
9.de Vb \" Begin verbatim text

--- 23 unchanged lines hidden (view full) ---

33. ds C` ""
34. ds C' ""
35'br\}
36.el\{\
37. ds -- \|\(em\|
38. ds PI \(*p
39. ds L" ``
40. ds R" ''
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sp \" Vertical space (when we can't use .PP)
6.if t .sp .5v
7.if n .sp
8..
9.de Vb \" Begin verbatim text

--- 23 unchanged lines hidden (view full) ---

33. ds C` ""
34. ds C' ""
35'br\}
36.el\{\
37. ds -- \|\(em\|
38. ds PI \(*p
39. ds L" ``
40. ds R" ''
41. ds C`
42. ds C'
41'br\}
42.\"
43.\" Escape single quotes in literal strings from groff's Unicode transform.
44.ie \n(.g .ds Aq \(aq
45.el .ds Aq '
46.\"
47.\" If the F register is turned on, we'll generate index entries on stderr for
48.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49.\" entries marked with X<> in POD. Of course, you'll have to process the
50.\" output yourself in some meaningful fashion.
43'br\}
44.\"
45.\" Escape single quotes in literal strings from groff's Unicode transform.
46.ie \n(.g .ds Aq \(aq
47.el .ds Aq '
48.\"
49.\" If the F register is turned on, we'll generate index entries on stderr for
50.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
51.\" entries marked with X<> in POD. Of course, you'll have to process the
52.\" output yourself in some meaningful fashion.
51.ie \nF \{\
52. de IX
53. tm Index:\\$1\t\\n%\t"\\$2"
53.\"
54.\" Avoid warning from groff about undefined register 'F'.
55.de IX
54..
56..
55. nr % 0
56. rr F
57.\}
58.el \{\
59. de IX
57.nr rF 0
58.if \n(.g .if rF .nr rF 1
59.if (\n(rF:(\n(.g==0)) \{
60. if \nF \{
61. de IX
62. tm Index:\\$1\t\\n%\t"\\$2"
60..
63..
64. if !\nF==2 \{
65. nr % 0
66. nr F 2
67. \}
68. \}
61.\}
69.\}
70.rr rF
62.\"
63.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64.\" Fear. Run. Save yourself. No user-serviceable parts.
65. \" fudge factors for nroff and troff
66.if n \{\
67. ds #H 0
68. ds #V .8m
69. ds #F .3m

--- 49 unchanged lines hidden (view full) ---

119. ds Th \o'LP'
120. ds ae ae
121. ds Ae AE
122.\}
123.rm #[ #] #H #V #F C
124.\" ========================================================================
125.\"
126.IX Title "S_CLIENT 1"
71.\"
72.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
73.\" Fear. Run. Save yourself. No user-serviceable parts.
74. \" fudge factors for nroff and troff
75.if n \{\
76. ds #H 0
77. ds #V .8m
78. ds #F .3m

--- 49 unchanged lines hidden (view full) ---

128. ds Th \o'LP'
129. ds ae ae
130. ds Ae AE
131.\}
132.rm #[ #] #H #V #F C
133.\" ========================================================================
134.\"
135.IX Title "S_CLIENT 1"
127.TH S_CLIENT 1 "2014-10-15" "1.0.1j" "OpenSSL"
136.TH S_CLIENT 1 "2015-01-15" "1.0.1l" "OpenSSL"
128.\" For nroff, turn off justification. Always turn off hyphenation; it makes
129.\" way too many mistakes in technical documents.
130.if n .ad l
131.nh
132.SH "NAME"
133s_client \- SSL/TLS client program
134.SH "SYNOPSIS"
135.IX Header "SYNOPSIS"

--- 37 unchanged lines hidden (view full) ---

173[\fB\-sess_out filename\fR]
174[\fB\-sess_in filename\fR]
175[\fB\-rand file(s)\fR]
176[\fB\-status\fR]
177[\fB\-nextprotoneg protocols\fR]
178.SH "DESCRIPTION"
179.IX Header "DESCRIPTION"
180The \fBs_client\fR command implements a generic \s-1SSL/TLS\s0 client which connects
137.\" For nroff, turn off justification. Always turn off hyphenation; it makes
138.\" way too many mistakes in technical documents.
139.if n .ad l
140.nh
141.SH "NAME"
142s_client \- SSL/TLS client program
143.SH "SYNOPSIS"
144.IX Header "SYNOPSIS"

--- 37 unchanged lines hidden (view full) ---

182[\fB\-sess_out filename\fR]
183[\fB\-sess_in filename\fR]
184[\fB\-rand file(s)\fR]
185[\fB\-status\fR]
186[\fB\-nextprotoneg protocols\fR]
187.SH "DESCRIPTION"
188.IX Header "DESCRIPTION"
189The \fBs_client\fR command implements a generic \s-1SSL/TLS\s0 client which connects
181to a remote host using \s-1SSL/TLS\s0. It is a \fIvery\fR useful diagnostic tool for
190to a remote host using \s-1SSL/TLS.\s0 It is a \fIvery\fR useful diagnostic tool for
182\&\s-1SSL\s0 servers.
183.SH "OPTIONS"
184.IX Header "OPTIONS"
185.IP "\fB\-connect host:port\fR" 4
186.IX Item "-connect host:port"
187This specifies the host and optional port to connect to. If not specified
188then an attempt is made to connect to the local host on port 4433.
189.IP "\fB\-servername name\fR" 4
190.IX Item "-servername name"
191\&\s-1SSL\s0 servers.
192.SH "OPTIONS"
193.IX Header "OPTIONS"
194.IP "\fB\-connect host:port\fR" 4
195.IX Item "-connect host:port"
196This specifies the host and optional port to connect to. If not specified
197then an attempt is made to connect to the local host on port 4433.
198.IP "\fB\-servername name\fR" 4
199.IX Item "-servername name"
191Set the \s-1TLS\s0 \s-1SNI\s0 (Server Name Indication) extension in the ClientHello message.
200Set the \s-1TLS SNI \s0(Server Name Indication) extension in the ClientHello message.
192.IP "\fB\-cert certname\fR" 4
193.IX Item "-cert certname"
194The certificate to use, if one is requested by the server. The default is
195not to use a certificate.
196.IP "\fB\-certform format\fR" 4
197.IX Item "-certform format"
201.IP "\fB\-cert certname\fR" 4
202.IX Item "-cert certname"
203The certificate to use, if one is requested by the server. The default is
204not to use a certificate.
205.IP "\fB\-certform format\fR" 4
206.IX Item "-certform format"
198The certificate format to use: \s-1DER\s0 or \s-1PEM\s0. \s-1PEM\s0 is the default.
207The certificate format to use: \s-1DER\s0 or \s-1PEM. PEM\s0 is the default.
199.IP "\fB\-key keyfile\fR" 4
200.IX Item "-key keyfile"
201The private key to use. If not specified then the certificate file will
202be used.
203.IP "\fB\-keyform format\fR" 4
204.IX Item "-keyform format"
208.IP "\fB\-key keyfile\fR" 4
209.IX Item "-key keyfile"
210The private key to use. If not specified then the certificate file will
211be used.
212.IP "\fB\-keyform format\fR" 4
213.IX Item "-keyform format"
205The private format to use: \s-1DER\s0 or \s-1PEM\s0. \s-1PEM\s0 is the default.
214The private format to use: \s-1DER\s0 or \s-1PEM. PEM\s0 is the default.
206.IP "\fB\-pass arg\fR" 4
207.IX Item "-pass arg"
208the private key password source. For more information about the format of \fBarg\fR
215.IP "\fB\-pass arg\fR" 4
216.IX Item "-pass arg"
217the private key password source. For more information about the format of \fBarg\fR
209see the \fB\s-1PASS\s0 \s-1PHRASE\s0 \s-1ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1).
218see the \fB\s-1PASS PHRASE ARGUMENTS\s0\fR section in \fIopenssl\fR\|(1).
210.IP "\fB\-verify depth\fR" 4
211.IX Item "-verify depth"
212The verify depth to use. This specifies the maximum length of the
213server certificate chain and turns on server certificate verification.
214Currently the verify operation continues after errors so all the problems
215with a certificate chain can be seen. As a side effect the connection
216will never fail due to a server certificate verify failure.
217.IP "\fB\-verify_return_error\fR" 4

--- 10 unchanged lines hidden (view full) ---

228A file containing trusted certificates to use during server authentication
229and to use when attempting to build the client certificate chain.
230.IP "\fB\-purpose, \-ignore_critical, \-issuer_checks, \-crl_check, \-crl_check_all, \-policy_check, \-extended_crl, \-x509_strict, \-policy \-check_ss_sig\fR" 4
231.IX Item "-purpose, -ignore_critical, -issuer_checks, -crl_check, -crl_check_all, -policy_check, -extended_crl, -x509_strict, -policy -check_ss_sig"
232Set various certificate chain valiadition option. See the
233\&\fBverify\fR manual page for details.
234.IP "\fB\-reconnect\fR" 4
235.IX Item "-reconnect"
219.IP "\fB\-verify depth\fR" 4
220.IX Item "-verify depth"
221The verify depth to use. This specifies the maximum length of the
222server certificate chain and turns on server certificate verification.
223Currently the verify operation continues after errors so all the problems
224with a certificate chain can be seen. As a side effect the connection
225will never fail due to a server certificate verify failure.
226.IP "\fB\-verify_return_error\fR" 4

--- 10 unchanged lines hidden (view full) ---

237A file containing trusted certificates to use during server authentication
238and to use when attempting to build the client certificate chain.
239.IP "\fB\-purpose, \-ignore_critical, \-issuer_checks, \-crl_check, \-crl_check_all, \-policy_check, \-extended_crl, \-x509_strict, \-policy \-check_ss_sig\fR" 4
240.IX Item "-purpose, -ignore_critical, -issuer_checks, -crl_check, -crl_check_all, -policy_check, -extended_crl, -x509_strict, -policy -check_ss_sig"
241Set various certificate chain valiadition option. See the
242\&\fBverify\fR manual page for details.
243.IP "\fB\-reconnect\fR" 4
244.IX Item "-reconnect"
236reconnects to the same server 5 times using the same session \s-1ID\s0, this can
245reconnects to the same server 5 times using the same session \s-1ID,\s0 this can
237be used as a test that session caching is working.
238.IP "\fB\-pause\fR" 4
239.IX Item "-pause"
240pauses 1 second between each read and write call.
241.IP "\fB\-showcerts\fR" 4
242.IX Item "-showcerts"
243display the whole server certificate chain: normally only the server
244certificate itself is displayed.
245.IP "\fB\-prexit\fR" 4
246.IX Item "-prexit"
247print session information when the program exits. This will always attempt
248to print out information even if the connection fails. Normally information
249will only be printed out once if the connection succeeds. This option is useful
250because the cipher in use may be renegotiated or the connection may fail
251because a client certificate is required or is requested only after an
246be used as a test that session caching is working.
247.IP "\fB\-pause\fR" 4
248.IX Item "-pause"
249pauses 1 second between each read and write call.
250.IP "\fB\-showcerts\fR" 4
251.IX Item "-showcerts"
252display the whole server certificate chain: normally only the server
253certificate itself is displayed.
254.IP "\fB\-prexit\fR" 4
255.IX Item "-prexit"
256print session information when the program exits. This will always attempt
257to print out information even if the connection fails. Normally information
258will only be printed out once if the connection succeeds. This option is useful
259because the cipher in use may be renegotiated or the connection may fail
260because a client certificate is required or is requested only after an
252attempt is made to access a certain \s-1URL\s0. Note: the output produced by this
261attempt is made to access a certain \s-1URL.\s0 Note: the output produced by this
253option is not always accurate because a connection might never have been
254established.
255.IP "\fB\-state\fR" 4
256.IX Item "-state"
257prints out the \s-1SSL\s0 session states.
258.IP "\fB\-debug\fR" 4
259.IX Item "-debug"
260print extensive debugging information including a hex dump of all traffic.

--- 47 unchanged lines hidden (view full) ---

308.IP "\fB\-cipher cipherlist\fR" 4
309.IX Item "-cipher cipherlist"
310this allows the cipher list sent by the client to be modified. Although
311the server determines which cipher suite is used it should take the first
312supported cipher in the list sent by the client. See the \fBciphers\fR
313command for more information.
314.IP "\fB\-serverpref\fR" 4
315.IX Item "-serverpref"
262option is not always accurate because a connection might never have been
263established.
264.IP "\fB\-state\fR" 4
265.IX Item "-state"
266prints out the \s-1SSL\s0 session states.
267.IP "\fB\-debug\fR" 4
268.IX Item "-debug"
269print extensive debugging information including a hex dump of all traffic.

--- 47 unchanged lines hidden (view full) ---

317.IP "\fB\-cipher cipherlist\fR" 4
318.IX Item "-cipher cipherlist"
319this allows the cipher list sent by the client to be modified. Although
320the server determines which cipher suite is used it should take the first
321supported cipher in the list sent by the client. See the \fBciphers\fR
322command for more information.
323.IP "\fB\-serverpref\fR" 4
324.IX Item "-serverpref"
316use the server's cipher preferences; only used for \s-1SSLV2\s0.
325use the server's cipher preferences; only used for \s-1SSLV2.\s0
317.IP "\fB\-starttls protocol\fR" 4
318.IX Item "-starttls protocol"
319send the protocol-specific message(s) to switch to \s-1TLS\s0 for communication.
320\&\fBprotocol\fR is a keyword for the intended protocol. Currently, the only
321supported keywords are \*(L"smtp\*(R", \*(L"pop3\*(R", \*(L"imap\*(R", and \*(L"ftp\*(R".
322.IP "\fB\-tlsextdebug\fR" 4
323.IX Item "-tlsextdebug"
324print out a hex dump of any \s-1TLS\s0 extensions received from the server.

--- 39 unchanged lines hidden (view full) ---

364If a connection is established with an \s-1SSL\s0 server then any data received
365from the server is displayed and any key presses will be sent to the
366server. When used interactively (which means neither \fB\-quiet\fR nor \fB\-ign_eof\fR
367have been given), the session will be renegotiated if the line begins with an
368\&\fBR\fR, and if the line begins with a \fBQ\fR or if end of file is reached, the
369connection will be closed down.
370.SH "NOTES"
371.IX Header "NOTES"
326.IP "\fB\-starttls protocol\fR" 4
327.IX Item "-starttls protocol"
328send the protocol-specific message(s) to switch to \s-1TLS\s0 for communication.
329\&\fBprotocol\fR is a keyword for the intended protocol. Currently, the only
330supported keywords are \*(L"smtp\*(R", \*(L"pop3\*(R", \*(L"imap\*(R", and \*(L"ftp\*(R".
331.IP "\fB\-tlsextdebug\fR" 4
332.IX Item "-tlsextdebug"
333print out a hex dump of any \s-1TLS\s0 extensions received from the server.

--- 39 unchanged lines hidden (view full) ---

373If a connection is established with an \s-1SSL\s0 server then any data received
374from the server is displayed and any key presses will be sent to the
375server. When used interactively (which means neither \fB\-quiet\fR nor \fB\-ign_eof\fR
376have been given), the session will be renegotiated if the line begins with an
377\&\fBR\fR, and if the line begins with a \fBQ\fR or if end of file is reached, the
378connection will be closed down.
379.SH "NOTES"
380.IX Header "NOTES"
372\&\fBs_client\fR can be used to debug \s-1SSL\s0 servers. To connect to an \s-1SSL\s0 \s-1HTTP\s0
381\&\fBs_client\fR can be used to debug \s-1SSL\s0 servers. To connect to an \s-1SSL HTTP\s0
373server the command:
374.PP
375.Vb 1
376\& openssl s_client \-connect servername:443
377.Ve
378.PP
379would typically be used (https uses port 443). If the connection succeeds
382server the command:
383.PP
384.Vb 1
385\& openssl s_client \-connect servername:443
386.Ve
387.PP
388would typically be used (https uses port 443). If the connection succeeds
380then an \s-1HTTP\s0 command can be given such as \*(L"\s-1GET\s0 /\*(R" to retrieve a web page.
389then an \s-1HTTP\s0 command can be given such as \*(L"\s-1GET /\*(R"\s0 to retrieve a web page.
381.PP
382If the handshake fails then there are several possible causes, if it is
383nothing obvious like no client certificate then the \fB\-bugs\fR, \fB\-ssl2\fR,
384\&\fB\-ssl3\fR, \fB\-tls1\fR, \fB\-no_ssl2\fR, \fB\-no_ssl3\fR, \fB\-no_tls1\fR options can be tried
385in case it is a buggy server. In particular you should play with these
386options \fBbefore\fR submitting a bug report to an OpenSSL mailing list.
387.PP
388A frequent problem when attempting to get client certificates working

--- 39 unchanged lines hidden ---
390.PP
391If the handshake fails then there are several possible causes, if it is
392nothing obvious like no client certificate then the \fB\-bugs\fR, \fB\-ssl2\fR,
393\&\fB\-ssl3\fR, \fB\-tls1\fR, \fB\-no_ssl2\fR, \fB\-no_ssl3\fR, \fB\-no_tls1\fR options can be tried
394in case it is a buggy server. In particular you should play with these
395options \fBbefore\fR submitting a bug report to an OpenSSL mailing list.
396.PP
397A frequent problem when attempting to get client certificates working

--- 39 unchanged lines hidden ---