OpenSSL命令---s_time

用途:

s_timeopenss提供的SSL/TLS性能测试工具,用于测试SSL/TSL服务。

用法:

openssl s_time [-connect host:port] [-www page] [-cert filename] [-key filename] [-CApath directory] 
[-CAfile filename] [-reuse] [-new] [-verify depth] [-nbio] [-time seconds] [-ssl2] [-ssl3] [-bugs] 
[-cipher cipherlist]

选项说明:

-connect host:port:设置服务器地址和端口号。如果没有设置,则默认为本地主机以及端口号4433

-www page:指定获取的web网页。

-cert filename:使用的证书文件。如果server不要求要证书,这个可以省略。默认为PEM格式。

 -key filename:使用的证书私钥文件。如果server不要求要证书,这个可以省略。默认为PEM格式。

-CApath directory:设置信任CA文件所在路径,此路径中的ca文件名采用特殊的形式:xxx.0,其中xxxCA证书持有者的哈希值,它通过x509 -hash命令获得。

-CAfile filename:某文件,里面是所有你信任的CA的证书的内容。当你要建立client的证书链的时候也需要用到这个文件。

-reuse:用同样地session ID多次请求,主要用于测试。

-new  新建链接。

-verify depth:设置验证深度。

-nbio:设置非阻塞模式的I/O

-time seconds:指定搜集数据的秒数,默认30秒。

-ssl2-ssl3:采用的SSL协议版本。

-bugs:打印调试信息值。

-cipher cipherlist:算法套件。

注意:

s_time可以被用于测量SSL连接过程中的性能。为了连接一个SSL HTTP服务器并获取默认页的命令如下:

openssl s_time -connect servername:443 -www / -CApath yourdir -CAfile yourfile.pem

-cipher commoncipher [-ssl3]

使用的端口号是443’ commoncipher’是一个被服务器和客户端所同意的算法组件。

如果握手失败,原因可能有以下几种:

1.          server需要验证你的证书,但你没有证书。

2.          如果肯定不是原因1,那么就慢慢一个一个set以下几个选项:-bugs -ssl2 -ssl3 -tls1-no_ssl2-no_ssl3 -no_dtls

3.          这可能是因为对方的server处理SSLbug

如果在命令行用B<-cert>选项来指定一个证书,它将不会被使用,除非服务器明确的请求一个客户端的证书。因此仅仅在客户端包含一个客户端证书时不能保证证书在工作。

BUGs

因为这个项目没有包含L<s_client(1)|s_client(1)>项目的所有选项来转换协议开和关,就不能够测量服务器端的所有协议的性能问题。

如果服务器验证失败,B<-verify>将会退出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
转c#写法:#!/bin/sh time_stamp=`date +%s` function CheckStop() { if [ $? -ne 0 ]; then echo "execute fail, error on line_no:"$1" exit!!!" exit fi } function GenEcdsaKey() { ec_param_file_path="/tmp/ec_param.pem."$time_stamp openssl ecparam -out $ec_param_file_path -name prime256v1 -genkey CheckStop $LINENO openssl genpkey -paramfile $ec_param_file_path -out $1 CheckStop $LINENO openssl pkey -in $1 -inform PEM -out $2 -outform PEM -pubout CheckStop $LINENO rm $ec_param_file_path echo "gen_ecdsa_key succ prikey_path:"$1" pubkey_path:"$2 } function GenEcdsaSign() { ec_sign_info_file="/tmp/ec_sign_info_file."$time_stamp ec_sign_info_sha256="/tmp/ec_sign_info_sha256."$time_stamp ec_binary_sign_file="/tmp/ec_binary_sign_file."$time_stamp echo -n "$1"_"$2" > $ec_sign_info_file openssl dgst -sha256 -binary -out $ec_sign_info_sha256 $ec_sign_info_file CheckStop $LINENO openssl pkeyutl -sign -in $ec_sign_info_sha256 -out $ec_binary_sign_file -inkey $3 -keyform PEM CheckStop $LINENO openssl base64 -e -in $ec_binary_sign_file -out $4 CheckStop $LINENO rm $ec_sign_info_file $ec_sign_info_sha256 $ec_binary_sign_file echo "gen_ecdsa_sign succ sign_file_path:"$4 } function VerifyEcdsaSign() { ec_sign_info_file="/tmp/ec_sign_info_file."$time_stamp ec_sign_info_sha256="/tmp/ec_sign_info_sha256."$time_stamp ec_binary_sign_file="/tmp/ec_binary_sign_file."$time_stamp echo -n "$1"_"$2" > $ec_sign_info_file openssl dgst -sha256 -binary -out $ec_sign_info_sha256 $ec_sign_info_file CheckStop $LINENO openssl base64 -d -in $4 -out $ec_binary_sign_file CheckStop $LINENO openssl pkeyutl -verify -in $ec_sign_info_sha256 -sigfile $ec_binary_sign_file -pubin -inkey $3 -keyform PEM rm $ec_sign_info_file $ec_sign_info_sha256 $ec_binary_sign_file } function Usage() { echo "Usage:" echo "mmiot_ecdsa_sign.sh gen_ecdsa_key <private_key_file_path> <public_key_file_path>" echo "mmiot_ecdsa_sign.sh gen_ecdsa_sign <product_id> <sn> <private_
05-31

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值