如何在Firefox下获取当前SSL连接的二手密钥?

时间:2012-02-11 20:36:33

标签: firefox ssl firefox-addon

我想有一个简单的问题。是否有任何插件适用于Firefox或工具如何在SSL握手期间从主密钥生成会话密钥,通过该密钥对称地编码整个客户端/服务器通信?由于通过Wireshark或PCAP库解码通信(POST / GET /等等),我需要它。我可以看到Firebug显示解密通信,所以我希望有一些正确的方法来达到这个会话密钥:)

谢谢大家的帮助。

2 个答案:

答案 0 :(得分:9)

我有个好消息。您实际上可以从Firefox和Chrome获取所需的Master-Key数据。您可以使用Wireshark中的输出文件解密SSL / TLS流量,而无需SSL / TLS服务器中的私钥。在这里查看“方法2”:http://www.root9.net/2012/11/ssl-decryption-with-wireshark-private.html

作为提示,如果您不想重新启动计算机,只需打开命令提示符并运行:

设置SSLKEYLOGFILE = c:\ sslKeyLogFile.txt

“C:\ Program Files(x86)\ Mozilla Firefox \ firefox.exe”

由于Firefox是在您添加环境变量的同一会话中启动的,因此它将使用该变量集启动。否则,在系统设置对话框中设置后,将需要重新启动Windows。

我还想指出Chris的回答并不一定是错的,这是一个相当新的功能。它直到Wireshark 1.6才开始发布。

答案 1 :(得分:1)

如果您想使用Wireshark,那么预主秘密将对您没用(您在问题中将其称为“密钥”)。

如果您指定服务器的RSA私钥,则Wireshark只能解密流量,与预主密钥不同,它在每个连接上都不会更改。但是,出于显而易见的原因,您无法通过浏览器或其他任何方式获取此信息。

如果你想解密SSL流量,我建议使用中间代理,比如Fiddler。它不会被动地捕获流量,而是代理流量,这使它能够实际解密发送和接收的数据。