openssl是目前使用最广泛的ssl库之一,除了提供全面的ssl加密库以外,还提供了一些基础的命令行工具用于测试,目前绝大多数的软件都是使用openssl库来进行ssl交互,很多系统默认都自带了openssl相关的库和工具。
在我的工作中,最常用到的就是利用它来进行漏洞检测(如SSL重协商漏洞)以及连接测试等,使用普通的浏览器构造出特定的数据包实际上是很难的,但是通过openssl命令却相当简单。
一、查看证书相关信息的命令
打印证书的完整内容:
openssl x509 -in cert.pem -noout -text
打印出证书的序列号:
openssl x509 -in cert.pem -noout -serial
查看der格式的证书内容:
openssl x509 -in cert.pem -inform der -noout -text
把PEM格式的证书转化成DER格式
openssl x509 -in cert.pem -inform PEM -out cert.der -outform DER
二、s_clinet用法
s_clinet是openssl命令中的一个客户端,可以用来进行openssl相关的连接测试,漏洞检测的时候经常会用到。
本周使用s_client做了两件事,一个是完成了ssl重协商漏洞的测试,另外一个是通过它重现了一个代码BUG。
发起一个连接请求:
openssl s_clinet -connect www.baidu.com:443 -ssl3
-ssl3
表示使用SSLv3版本的协议去连接服务端,也可以换成tls1_3/tls1_2/tls1_1
等。
指定发送的srever_name扩展:
openssl s_client -connect www.baidu.com:443 -server_name WWW.BAIDU.COM
此处评论已关闭