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
最后修改:2020 年 04 月 05 日
如果觉得我的文章对你有用,请随意赞赏