Update per latest manual pages after 'man-update'.
[dragonfly.git] / secure / usr.bin / openssl / man / s_time.1
1 .rn '' }`
2 ''' $RCSfile$$Revision$$Date$
3 '''
4 ''' $Log$
5 '''
6 .de Sh
7 .br
8 .if t .Sp
9 .ne 5
10 .PP
11 \fB\\$1\fR
12 .PP
13 ..
14 .de Sp
15 .if t .sp .5v
16 .if n .sp
17 ..
18 .de Ip
19 .br
20 .ie \\n(.$>=3 .ne \\$3
21 .el .ne 3
22 .IP "\\$1" \\$2
23 ..
24 .de Vb
25 .ft CW
26 .nf
27 .ne \\$1
28 ..
29 .de Ve
30 .ft R
31
32 .fi
33 ..
34 '''
35 '''
36 '''     Set up \*(-- to give an unbreakable dash;
37 '''     string Tr holds user defined translation string.
38 '''     Bell System Logo is used as a dummy character.
39 '''
40 .tr \(*W-|\(bv\*(Tr
41 .ie n \{\
42 .ds -- \(*W-
43 .ds PI pi
44 .if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
45 .if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
46 .ds L" ""
47 .ds R" ""
48 '''   \*(M", \*(S", \*(N" and \*(T" are the equivalent of
49 '''   \*(L" and \*(R", except that they are used on ".xx" lines,
50 '''   such as .IP and .SH, which do another additional levels of
51 '''   double-quote interpretation
52 .ds M" """
53 .ds S" """
54 .ds N" """""
55 .ds T" """""
56 .ds L' '
57 .ds R' '
58 .ds M' '
59 .ds S' '
60 .ds N' '
61 .ds T' '
62 'br\}
63 .el\{\
64 .ds -- \(em\|
65 .tr \*(Tr
66 .ds L" ``
67 .ds R" ''
68 .ds M" ``
69 .ds S" ''
70 .ds N" ``
71 .ds T" ''
72 .ds L' `
73 .ds R' '
74 .ds M' `
75 .ds S' '
76 .ds N' `
77 .ds T' '
78 .ds PI \(*p
79 'br\}
80 .\"     If the F register is turned on, we'll generate
81 .\"     index entries out stderr for the following things:
82 .\"             TH      Title 
83 .\"             SH      Header
84 .\"             Sh      Subsection 
85 .\"             Ip      Item
86 .\"             X<>     Xref  (embedded
87 .\"     Of course, you have to process the output yourself
88 .\"     in some meaninful fashion.
89 .if \nF \{
90 .de IX
91 .tm Index:\\$1\t\\n%\t"\\$2"
92 ..
93 .nr % 0
94 .rr F
95 .\}
96 .TH S_TIME 1 "0.9.7d" "2/Sep/2004" "OpenSSL"
97 .UC
98 .if n .hy 0
99 .if n .na
100 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
101 .de CQ          \" put $1 in typewriter font
102 .ft CW
103 'if n "\c
104 'if t \\&\\$1\c
105 'if n \\&\\$1\c
106 'if n \&"
107 \\&\\$2 \\$3 \\$4 \\$5 \\$6 \\$7
108 '.ft R
109 ..
110 .\" @(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2
111 .       \" AM - accent mark definitions
112 .bd B 3
113 .       \" fudge factors for nroff and troff
114 .if n \{\
115 .       ds #H 0
116 .       ds #V .8m
117 .       ds #F .3m
118 .       ds #[ \f1
119 .       ds #] \fP
120 .\}
121 .if t \{\
122 .       ds #H ((1u-(\\\\n(.fu%2u))*.13m)
123 .       ds #V .6m
124 .       ds #F 0
125 .       ds #[ \&
126 .       ds #] \&
127 .\}
128 .       \" simple accents for nroff and troff
129 .if n \{\
130 .       ds ' \&
131 .       ds ` \&
132 .       ds ^ \&
133 .       ds , \&
134 .       ds ~ ~
135 .       ds ? ?
136 .       ds ! !
137 .       ds /
138 .       ds q
139 .\}
140 .if t \{\
141 .       ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
142 .       ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
143 .       ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
144 .       ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
145 .       ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
146 .       ds ? \s-2c\h'-\w'c'u*7/10'\u\h'\*(#H'\zi\d\s+2\h'\w'c'u*8/10'
147 .       ds ! \s-2\(or\s+2\h'-\w'\(or'u'\v'-.8m'.\v'.8m'
148 .       ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
149 .       ds q o\h'-\w'o'u*8/10'\s-4\v'.4m'\z\(*i\v'-.4m'\s+4\h'\w'o'u*8/10'
150 .\}
151 .       \" troff and (daisy-wheel) nroff accents
152 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
153 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
154 .ds v \\k:\h'-(\\n(.wu*9/10-\*(#H)'\v'-\*(#V'\*(#[\s-4v\s0\v'\*(#V'\h'|\\n:u'\*(#]
155 .ds _ \\k:\h'-(\\n(.wu*9/10-\*(#H+(\*(#F*2/3))'\v'-.4m'\z\(hy\v'.4m'\h'|\\n:u'
156 .ds . \\k:\h'-(\\n(.wu*8/10)'\v'\*(#V*4/10'\z.\v'-\*(#V*4/10'\h'|\\n:u'
157 .ds 3 \*(#[\v'.2m'\s-2\&3\s0\v'-.2m'\*(#]
158 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
159 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
160 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
161 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
162 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
163 .ds ae a\h'-(\w'a'u*4/10)'e
164 .ds Ae A\h'-(\w'A'u*4/10)'E
165 .ds oe o\h'-(\w'o'u*4/10)'e
166 .ds Oe O\h'-(\w'O'u*4/10)'E
167 .       \" corrections for vroff
168 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
169 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
170 .       \" for low resolution devices (crt and lpr)
171 .if \n(.H>23 .if \n(.V>19 \
172 \{\
173 .       ds : e
174 .       ds 8 ss
175 .       ds v \h'-1'\o'\(aa\(ga'
176 .       ds _ \h'-1'^
177 .       ds . \h'-1'.
178 .       ds 3 3
179 .       ds o a
180 .       ds d- d\h'-1'\(ga
181 .       ds D- D\h'-1'\(hy
182 .       ds th \o'bp'
183 .       ds Th \o'LP'
184 .       ds ae ae
185 .       ds Ae AE
186 .       ds oe oe
187 .       ds Oe OE
188 .\}
189 .rm #[ #] #H #V #F C
190 .SH "NAME"
191 s_time \- SSL/TLS performance timing program
192 .SH "SYNOPSIS"
193 \fBopenssl\fR \fBs_time\fR
194 [\fB\-connect host:port\fR]
195 [\fB\-www page\fR]
196 [\fB\-cert filename\fR]
197 [\fB\-key filename\fR]
198 [\fB\-CApath directory\fR]
199 [\fB\-CAfile filename\fR]
200 [\fB\-reuse\fR]
201 [\fB\-new\fR]
202 [\fB\-verify depth\fR]
203 [\fB\-nbio\fR]
204 [\fB\-time seconds\fR]
205 [\fB\-ssl2\fR]
206 [\fB\-ssl3\fR]
207 [\fB\-bugs\fR]
208 [\fB\-cipher cipherlist\fR]
209 .SH "DESCRIPTION"
210 The \fBs_client\fR command implements a generic SSL/TLS client which connects to a
211 remote host using SSL/TLS. It can request a page from the server and includes
212 the time to transfer the payload data in its timing measurements. It measures
213 the number of connections within a given timeframe, the amount of data
214 transferred (if any), and calculates the average time spent for one connection.
215 .SH "OPTIONS"
216 .Ip "\fB\-connect host:port\fR" 4
217 This specifies the host and optional port to connect to.
218 .Ip "\fB\-www page\fR" 4
219 This specifies the page to \s-1GET\s0 from the server. A value of \*(L'/\*(R' gets the
220 index.htm[l] page. If this parameter is not specified, then \fBs_time\fR will only
221 perform the handshake to establish \s-1SSL\s0 connections but not transfer any
222 payload data.
223 .Ip "\fB\-cert certname\fR" 4
224 The certificate to use, if one is requested by the server. The default is
225 not to use a certificate. The file is in \s-1PEM\s0 format.
226 .Ip "\fB\-key keyfile\fR" 4
227 The private key to use. If not specified then the certificate file will
228 be used. The file is in \s-1PEM\s0 format.
229 .Ip "\fB\-verify depth\fR" 4
230 The verify depth to use. This specifies the maximum length of the
231 server certificate chain and turns on server certificate verification.
232 Currently the verify operation continues after errors so all the problems
233 with a certificate chain can be seen. As a side effect the connection
234 will never fail due to a server certificate verify failure.
235 .Ip "\fB\-CApath directory\fR" 4
236 The directory to use for server certificate verification. This directory
237 must be in \*(L"hash format\*(R", see \fBverify\fR for more information. These are
238 also used when building the client certificate chain.
239 .Ip "\fB\-CAfile file\fR" 4
240 A file containing trusted certificates to use during server authentication
241 and to use when attempting to build the client certificate chain.
242 .Ip "\fB\-new\fR" 4
243 performs the timing test using a new session \s-1ID\s0 for each connection.
244 If neither \fB\-new\fR nor \fB\-reuse\fR are specified, they are both on by default
245 and executed in sequence.
246 .Ip "\fB\-reuse\fR" 4
247 performs the timing test using the same session \s-1ID\s0; this can be used as a test
248 that session caching is working. If neither \fB\-new\fR nor \fB\-reuse\fR are
249 specified, they are both on by default and executed in sequence.
250 .Ip "\fB\-nbio\fR" 4
251 turns on non-blocking I/O.
252 .Ip "\fB\-ssl2\fR, \fB\-ssl3\fR" 4
253 these options disable the use of certain \s-1SSL\s0 or \s-1TLS\s0 protocols. By default
254 the initial handshake uses a method which should be compatible with all
255 servers and permit them to use \s-1SSL\s0 v3, \s-1SSL\s0 v2 or \s-1TLS\s0 as appropriate.
256 The timing program is not as rich in options to turn protocols on and off as
257 the s_client(1) program and may not connect to all servers.
258 .Sp
259 Unfortunately there are a lot of ancient and broken servers in use which
260 cannot handle this technique and will fail to connect. Some servers only
261 work if \s-1TLS\s0 is turned off with the \fB\-ssl3\fR option; others
262 will only support \s-1SSL\s0 v2 and may need the \fB\-ssl2\fR option.
263 .Ip "\fB\-bugs\fR" 4
264 there are several known bug in \s-1SSL\s0 and \s-1TLS\s0 implementations. Adding this
265 option enables various workarounds.
266 .Ip "\fB\-cipher cipherlist\fR" 4
267 this allows the cipher list sent by the client to be modified. Although
268 the server determines which cipher suite is used it should take the first
269 supported cipher in the list sent by the client.
270 See the ciphers(1) command for more information.
271 .Ip "\fB\-time length\fR" 4
272 specifies how long (in seconds) \fBs_time\fR should establish connections and
273 optionally transfer payload data from a server. Server and client performance
274 and the link speed determine how many connections \fBs_time\fR can establish.
275 .SH "NOTES"
276 \fBs_client\fR can be used to measure the performance of an SSL connection.
277 To connect to an SSL HTTP server and get the default page the command
278 .PP
279 .Vb 1
280 \& openssl s_time -connect servername:443 -www / -CApath yourdir -CAfile yourfile.pem -cipher commoncipher [-ssl3]
281 .Ve
282 would typically be used (https uses port 443). \*(L'commoncipher\*(R' is a cipher to
283 which both client and server can agree, see the ciphers(1) command
284 for details.
285 .PP
286 If the handshake fails then there are several possible causes, if it is
287 nothing obvious like no client certificate then the \fB\-bugs\fR, \fB\-ssl2\fR,
288 \fB\-ssl3\fR options can be tried
289 in case it is a buggy server. In particular you should play with these
290 options \fBbefore\fR submitting a bug report to an OpenSSL mailing list.
291 .PP
292 A frequent problem when attempting to get client certificates working
293 is that a web client complains it has no certificates or gives an empty
294 list to choose from. This is normally because the server is not sending
295 the clients certificate authority in its \*(L"acceptable CA list\*(R" when it
296 requests a certificate. By using s_client(1) the CA list can be
297 viewed and checked. However some servers only request client authentication
298 after a specific URL is requested. To obtain the list in this case it
299 is necessary to use the \fB\-prexit\fR option of s_client(1) and
300 send an HTTP request for an appropriate page.
301 .PP
302 If a certificate is specified on the command line using the \fB\-cert\fR
303 option it will not be used unless the server specifically requests
304 a client certificate. Therefor merely including a client certificate
305 on the command line is no guarantee that the certificate works.
306 .SH "BUGS"
307 Because this program does not have all the options of the
308 s_client(1) program to turn protocols on and off, you may not be
309 able to measure the performance of all protocols with all servers.
310 .PP
311 The \fB\-verify\fR option should really exit if the server verification
312 fails.
313 .SH "SEE ALSO"
314 s_client(1), s_server(1), ciphers(1)
315
316 .rn }` ''
317 .IX Title "S_TIME 1"
318 .IX Name "s_time - SSL/TLS performance timing program"
319
320 .IX Header "NAME"
321
322 .IX Header "SYNOPSIS"
323
324 .IX Header "DESCRIPTION"
325
326 .IX Header "OPTIONS"
327
328 .IX Item "\fB\-connect host:port\fR"
329
330 .IX Item "\fB\-www page\fR"
331
332 .IX Item "\fB\-cert certname\fR"
333
334 .IX Item "\fB\-key keyfile\fR"
335
336 .IX Item "\fB\-verify depth\fR"
337
338 .IX Item "\fB\-CApath directory\fR"
339
340 .IX Item "\fB\-CAfile file\fR"
341
342 .IX Item "\fB\-new\fR"
343
344 .IX Item "\fB\-reuse\fR"
345
346 .IX Item "\fB\-nbio\fR"
347
348 .IX Item "\fB\-ssl2\fR, \fB\-ssl3\fR"
349
350 .IX Item "\fB\-bugs\fR"
351
352 .IX Item "\fB\-cipher cipherlist\fR"
353
354 .IX Item "\fB\-time length\fR"
355
356 .IX Header "NOTES"
357
358 .IX Header "BUGS"
359
360 .IX Header "SEE ALSO"
361