用途:
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
|
指定随机数种子文件,多个文件见用分隔符分开
|