一、找到证书所在的数据包
证书是从服务端返回的,从https握手的过程来看,当服务端返回了server hello之后,就会主动将自己的证书返回给客户端,因此只要从server hello往后面找1-2个包,就可以找到证书所在的数据包了。
wireshark会自动将证书解析出来:
不过要注意的是:
- 证书所在的数据包,除了证书以外,可能还有其他https握手包。
- 证书是二进制编码的,也就是相当于是der格式的证书
- 服务端可能将中间CA和根CA的证书一起返回回来,因此证书可能有多个
二、导出证书
找到所在包之后,在wireshark自动解析出来的协议栏里就能看到所有的证书内容了。
例如我下面这个,就包含了两个证书,一个是终端证书,一个是根证书:
点击想要的证书,右键选择Export Packet Bytes
导出证书:
保存文件的时候要注意,因为证书是二进制的,要将文件的后缀名命名为*.cert
而不能是txt等格式,文件导出后就可以直接使用了。
评论