用途:
s_server是oepnssl提供的一个SSL服务程序。使用此程序前,需要生成各种证书。
语法:
openssl s_server
[-accept port] [-context id] [-verify depth] [-Verify depth]
[-crl_check] [-crl_check_all] [-cert filename] [-certform DER|PEM]
[-key filename] [-keyform DER|PEM] [-pass arg] [-dcert filename]
[-dcertform DER|PEM ] [-dkey keyfile] [-dkeyform DER|PEM ] [-dpass arg]
[-dhparam filename] [-name_curve arg][-nbio] [-nbio_test] [-crlf] [-debug]
[-msg] [-state] [-CApath directory] [-CAfile filename] [-nocert]
[-cipher cipherlist] [-quiet] [-no_tmp_rsa] [-ssl2] [-ssl3] [-tls1_1]
[-tls1_2] [-tls1] [-dtls1] [-timeout] [-mtu] [-chain] [-no_ssl2][-no_ssl3]
[-no_tls1] [-no_tls1_1] [-no_tls1_2] [-no_dhe] [-no_ecdhe] [-bugs] [-hack]
[-www] [-WWW] [-HTTP][-engine id] [-tlsextdebug] [-no_ticket]
[-id_prefix arg] [-rand file(s)]
参数说明:
| 参数 | 说明 |
| -accept port | 监听的TCP端口。缺省4433 |
| -context id | 设置SSL context的id,可以设置为任何值。SSL context是会话ID的上下文 |
| -verify depth | 验证client的证书 |
| -crl_check | 检查客户端证书是否在CA的废除列表中。CRL在证书文件中 |
| -cert filename | 使用的证书文件名 |
|
-certform
DER|PEM
|
使用的证书文件名。多多数服务器算法套件需要一个证书,
还有一些需要证书的公钥类型
|
| -key filename | 私有没要文件的格式 |
| -pass arg | 私钥保护口令来源 |
| -dcert filename | 指定一个附加的证书文件和私有密钥文件 |
|
-dcertform
DER|PEM
|
附加的私有密钥文件的格式,一般为DER或PEM |
|
-dkeyform
DER|PEM
|
附加的私有密钥文件的格式 |
| -dpass arg | 附加私钥保护口令来源 |
|
-dhparam
filename
|
使用的DH参数文件名。如果没有设置,
那么server会试图从证书文件里面获得这些参数
如果证书里面没有这么参数,一些hard code的参数就被调用
|
|
-name_curve
arg
|
椭圆曲线算法的选择类型 |
| -nbio_test | 检查费阻塞socket的I/O运行情况 |
| -crlf | 把在终端输入的换行回车转化成/r/n送出去 |
| -debug | 打印所有的调试信息 |
| -msg | 用16进制显示所有的协议数据 |
| -state | 打印SSL session的状态,ssl也是一个协议,当然有状态 |
| -CApath directory | 设置信任CA文件所在路径,此路径中的ca文件名采用特殊的形式 |
| -CAfile dirctory | 设置信任CA文件所有路径,此路径中的ca文件名采用特殊的形式 |
| -nocert | 如果server不想使用任何证书,就设置这个选项 |
| -cipher cipherlist |
由我们自己决定选用什么加密算法,尽管是serer来决定使用什么算法列表,
但他一般都会采用我们送过去的cipher列表里的第一个cipher.
|
| -quiet | 禁止打印sessionhe和证书信息 |
| -no_tmp_rsa | 现在接口cipher有时会使用临时RSA密钥。 |
| -no_dhe | 如果这个选项被设置,则没有DH参数提供,即不能够使用关于DH相关的ciphers |
| -no_ecdhe | 能够使用关于ECDH相关的ciphers; |
| hack | 这个选项对更早的netscape SSL代码提供一个可行的解决方案 |
| -www | 当client连接上来的时候,发挥一个网页,内容就是SSL握手的一些内容 |
| -HTTP | 用具体某个文件当网页发挥给cilent请求。 |
| -tlsextdebug | 打印TLS协议中服务器端接收到的额外信息 |
| -no_ticket | 不支持RFC4507会话类型 |
| -id_prefix_arg | 根据arg的值来产生SSL/TLS的session IDS的前缀 |
| -rand file | 指定随机数种子文件,多个文件见用分隔符分开 |