如何通过抓包查看客户端https连接中ssl/tls加密所采用的秘钥位数

 在https传输的过程中,我们底层的加密传输协议是ssl/tls.这里所使用的加密算法的秘钥位数(也就是服务器所使用的https证书的位数)可能是1024/2048或者更高,目前1024位的证书已经被证实是不安全的,需要逐步替换掉。

那么如何通过抓包来查看当前连接所采用的实际加密位数呢注意,这里是抓包查看,如果是网页我们用浏览器直接访问,点击那个小锁然后进行一系列的操作就可以查看到连接信息了,如果有兴趣查看以下链接内容:http://www.wosign.com/FAQ/how_to_check_rootCA_1024bit_2048bit.htm)?

首先我们抓取到相关的数据包(做移动开发的一般都有所了解,这里不再赘述,可以查看博主其他博文或自行百度),博主这里使用的是alipay的网页来进行演示的,后面可以看到ali的最底层根证书仍然是1024位的证书,基于根证书颁发的其他证书是2048位的;

edit->protocol->ssl,进行过滤,follow到相应的数据包以后,查看info栏显示certificate相关内容的包,点击进去查看(如图中length为212的包):


技术分享


查看到该包的详细信息如下:


技术分享


我们这里只需要关注ssl层(secure sockets layer)的内容,其他层我们这里无需关注;这里可以看到所有证书相关的信息。我们点击每个证书可以分别查看每个证书的相关信息;

最下面的是根证书信息(可以看到ali的证书来自verisign,这是一个很大的证书颁发机构)。


技术分享


展开证书信息,点击其中的encrypted,下面的选中部分内容即为秘钥信息;我们可以看到选中的内容共有8行,每行包含了16字节,那么总共就是128字节,换算为bit就是1024bit.可以看到这个根证书是1024bit的;通过同样方法可以查看到这里除了根证书的其他证书都是2048bit的。



----完------此文根据本人经验和网络知识结合实际操作撰写,如有不当之处恳请指出并斧正,非常感谢!


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。