summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/usr.bin/openssl/openssl.1113
1 files changed, 22 insertions, 91 deletions
diff --git a/src/usr.bin/openssl/openssl.1 b/src/usr.bin/openssl/openssl.1
index d6a5ca6601..c116d84015 100644
--- a/src/usr.bin/openssl/openssl.1
+++ b/src/usr.bin/openssl/openssl.1
@@ -1,4 +1,4 @@
1.\" $OpenBSD: openssl.1,v 1.67 2016/09/02 18:43:52 jmc Exp $ 1.\" $OpenBSD: openssl.1,v 1.68 2016/09/03 13:26:55 jmc Exp $
2.\" ==================================================================== 2.\" ====================================================================
3.\" Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. 3.\" Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved.
4.\" 4.\"
@@ -112,7 +112,7 @@
112.\" 112.\"
113.\" OPENSSL 113.\" OPENSSL
114.\" 114.\"
115.Dd $Mdocdate: September 2 2016 $ 115.Dd $Mdocdate: September 3 2016 $
116.Dt OPENSSL 1 116.Dt OPENSSL 1
117.Os 117.Os
118.Sh NAME 118.Sh NAME
@@ -4067,19 +4067,15 @@ with
4067.Fl verify , 4067.Fl verify ,
4068a certificate is requested but the client does not have to send one. 4068a certificate is requested but the client does not have to send one.
4069.El 4069.El
4070.\"
4071.\" S_TIME
4072.\"
4073.Sh S_TIME 4070.Sh S_TIME
4074.nr nS 1 4071.nr nS 1
4075.Nm "openssl s_time" 4072.Nm "openssl s_time"
4076.Bk -words
4077.Op Fl bugs 4073.Op Fl bugs
4078.Op Fl CAfile Ar file 4074.Op Fl CAfile Ar file
4079.Op Fl CApath Ar directory 4075.Op Fl CApath Ar directory
4080.Op Fl cert Ar file 4076.Op Fl cert Ar file
4081.Op Fl cipher Ar cipherlist 4077.Op Fl cipher Ar cipherlist
4082.Op Fl connect Ar host : Ns Ar port 4078.Op Fl connect Ar host Ns Op : Ns Ar port
4083.Op Fl key Ar keyfile 4079.Op Fl key Ar keyfile
4084.Op Fl nbio 4080.Op Fl nbio
4085.Op Fl new 4081.Op Fl new
@@ -4088,11 +4084,10 @@ a certificate is requested but the client does not have to send one.
4088.Op Fl time Ar seconds 4084.Op Fl time Ar seconds
4089.Op Fl verify Ar depth 4085.Op Fl verify Ar depth
4090.Op Fl www Ar page 4086.Op Fl www Ar page
4091.Ek
4092.nr nS 0 4087.nr nS 0
4093.Pp 4088.Pp
4094The 4089The
4095.Nm s_client 4090.Nm s_time
4096command implements a generic SSL/TLS client which connects to a 4091command implements a generic SSL/TLS client which connects to a
4097remote host using SSL/TLS. 4092remote host using SSL/TLS.
4098It can request a page from the server and includes 4093It can request a page from the server and includes
@@ -4105,10 +4100,11 @@ and calculates the average time spent for one connection.
4105The options are as follows: 4100The options are as follows:
4106.Bl -tag -width Ds 4101.Bl -tag -width Ds
4107.It Fl bugs 4102.It Fl bugs
4108There are several known bugs in SSL and TLS implementations. 4103Enable various workarounds for buggy implementations.
4109Adding this option enables various workarounds.
4110.It Fl CAfile Ar file 4104.It Fl CAfile Ar file
4111A file containing trusted certificates to use during server authentication 4105A
4106.Ar file
4107containing trusted certificates to use during server authentication
4112and to use when attempting to build the client certificate chain. 4108and to use when attempting to build the client certificate chain.
4113.It Fl CApath Ar directory 4109.It Fl CApath Ar directory
4114The directory to use for server certificate verification. 4110The directory to use for server certificate verification.
@@ -4121,24 +4117,22 @@ These are also used when building the client certificate chain.
4121.It Fl cert Ar file 4117.It Fl cert Ar file
4122The certificate to use, if one is requested by the server. 4118The certificate to use, if one is requested by the server.
4123The default is not to use a certificate. 4119The default is not to use a certificate.
4124The file is in PEM format.
4125.It Fl cipher Ar cipherlist 4120.It Fl cipher Ar cipherlist
4126This allows the cipher list sent by the client to be modified. 4121Modify the cipher list sent by the client.
4127Although the server determines which cipher suite is used, 4122Although the server determines which cipher suite is used,
4128it should take the first supported cipher in the list sent by the client. 4123it should take the first supported cipher in the list sent by the client.
4129See the 4124See the
4130.Nm ciphers 4125.Nm ciphers
4131command for more information. 4126command for more information.
4132.It Fl connect Ar host : Ns Ar port 4127.It Fl connect Ar host Ns Op : Ns Ar port
4133This specifies the host and optional port to connect to. 4128The host and port to connect to.
4134.It Fl key Ar keyfile 4129.It Fl key Ar keyfile
4135The private key to use. 4130The private key to use.
4136If not specified, the certificate file will be used. 4131If not specified, the certificate file will be used.
4137The file is in PEM format.
4138.It Fl nbio 4132.It Fl nbio
4139Turns on non-blocking I/O. 4133Turn on non-blocking I/O.
4140.It Fl new 4134.It Fl new
4141Performs the timing test using a new session ID for each connection. 4135Perform the timing test using a new session ID for each connection.
4142If neither 4136If neither
4143.Fl new 4137.Fl new
4144nor 4138nor
@@ -4147,11 +4141,10 @@ are specified,
4147they are both on by default and executed in sequence. 4141they are both on by default and executed in sequence.
4148.It Fl no_shutdown 4142.It Fl no_shutdown
4149Shut down the connection without sending a 4143Shut down the connection without sending a
4150.Dq close notify 4144.Qq close notify
4151shutdown alert to the server. 4145shutdown alert to the server.
4152.It Fl reuse 4146.It Fl reuse
4153Performs the timing test using the same session ID; 4147Perform the timing test using the same session ID for each connection.
4154this can be used as a test that session caching is working.
4155If neither 4148If neither
4156.Fl new 4149.Fl new
4157nor 4150nor
@@ -4159,26 +4152,21 @@ nor
4159are specified, 4152are specified,
4160they are both on by default and executed in sequence. 4153they are both on by default and executed in sequence.
4161.It Fl time Ar seconds 4154.It Fl time Ar seconds
4162Specifies how long 4155Limit
4163.Pq in seconds
4164.Nm s_time 4156.Nm s_time
4165should establish connections and 4157benchmarks to the number of
4166optionally transfer payload data from a server. 4158.Ar seconds .
4167The default is 30 seconds. 4159The default is 30 seconds.
4168Server and client performance and the link speed
4169determine how many connections
4170.Nm s_time
4171can establish.
4172.It Fl verify Ar depth 4160.It Fl verify Ar depth
4173The verify depth to use. 4161Turn on server certificate verification,
4174This specifies the maximum length of the server certificate chain 4162with a maximum length of
4175and turns on server certificate verification. 4163.Ar depth .
4176Currently the verify operation continues after errors, so all the problems 4164Currently the verify operation continues after errors, so all the problems
4177with a certificate chain can be seen. 4165with a certificate chain can be seen.
4178As a side effect, 4166As a side effect,
4179the connection will never fail due to a server certificate verify failure. 4167the connection will never fail due to a server certificate verify failure.
4180.It Fl www Ar page 4168.It Fl www Ar page
4181This specifies the page to GET from the server. 4169The page to GET from the server.
4182A value of 4170A value of
4183.Sq / 4171.Sq /
4184gets the index.htm[l] page. 4172gets the index.htm[l] page.
@@ -4187,63 +4175,6 @@ If this parameter is not specified,
4187will only perform the handshake to establish SSL connections 4175will only perform the handshake to establish SSL connections
4188but not transfer any payload data. 4176but not transfer any payload data.
4189.El 4177.El
4190.Sh S_TIME NOTES
4191.Nm s_client
4192can be used to measure the performance of an SSL connection.
4193To connect to an SSL HTTP server and get the default page the command
4194.Bd -literal -offset indent
4195$ openssl s_time -connect servername:443 -www / -CApath yourdir \e
4196 -CAfile yourfile.pem -cipher commoncipher
4197.Ed
4198.Pp
4199would typically be used
4200.Pq HTTPS uses port 443 .
4201.Dq commoncipher
4202is a cipher to which both client and server can agree;
4203see the
4204.Nm ciphers
4205command for details.
4206.Pp
4207If the handshake fails, there are several possible causes:
4208if it is nothing obvious like no client certificate, the
4209.Fl bugs
4210option can be tried in case it is a buggy server.
4211.Pp
4212A frequent problem when attempting to get client certificates working
4213is that a web client complains it has no certificates or gives an empty
4214list to choose from.
4215This is normally because the server is not sending
4216the clients certificate authority in its
4217.Qq acceptable CA list
4218when it requests a certificate.
4219By using
4220.Nm s_client ,
4221the CA list can be viewed and checked.
4222However some servers only request client authentication
4223after a specific URL is requested.
4224To obtain the list in this case, it is necessary to use the
4225.Fl prexit
4226option of
4227.Nm s_client
4228and send an HTTP request for an appropriate page.
4229.Pp
4230If a certificate is specified on the command line using the
4231.Fl cert
4232option,
4233it will not be used unless the server specifically requests
4234a client certificate.
4235Therefore merely including a client certificate
4236on the command line is no guarantee that the certificate works.
4237.Sh S_TIME BUGS
4238Because this program does not have all the options of the
4239.Nm s_client
4240program to turn protocols on and off,
4241you may not be able to measure the performance
4242of all protocols with all servers.
4243.Pp
4244The
4245.Fl verify
4246option should really exit if the server verification fails.
4247.\" 4178.\"
4248.\" SESS_ID 4179.\" SESS_ID
4249.\" 4180.\"