我正在尝试使用Wireshark解密SSL包,如here所述。我已经创建了SSLKEYLOGFILE系统和用户变量以及日志文件。我已重新启动计算机(运行Windows 10),并使用Chrome和Firefox打开https网址,但没有写入ssl日志文件。我的Chrome版本是56.0.2924.87(64位),我的Firefox版本是51.0.1(32位)。知道如何让两个浏览器中的任何一个写入该文件?或者有没有办法让SSL密钥能够解密Wireshark中的SSL包?
答案 0 :(得分:9)
你做错了什么。测试版本58&你不需要重启。要激活:
SSLKEYLOGFILE
至%USERPROFILE%\sslkeysENV.pms
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ssl-key-log-file=%USERPROFILE%\sslkeysARG.pms
答案 1 :(得分:4)
使用Firefox时,默认情况下会禁用这些功能,并且only available in debug builds。对于Chrome,这可能已经通过将基础SSL引擎从NSS(实现此功能并在Firefox中使用)切换到BoringSSL(可能没有此功能)而消失。
更新:根据@Lekensteyn(请参阅评论),该功能在当前的Firefox和Chrome版本中再次出现。
答案 2 :(得分:1)
尝试使用Firefox Developer版,默认情况下会启用上述功能。我昨天才测试过。
答案 3 :(得分:1)
尝试关闭当前的浏览会话,其行为就像您只是将新路径添加到PATH,仅在新会话中工作一样,依此类推。
答案 4 :(得分:0)
某些防病毒软件(例如Avast)将SSLKEYLOGFILE环境变量注入到著名的进程(例如firefox.exe和chrome.exe)中。如果您重命名浏览器可执行文件并启动它,那么环境变量将不会被覆盖。
答案 5 :(得分:0)
我已经解决了!
您必须,请确保完全关闭Chrome。然后重新打开一个新的Chrome实例。
Chrome浏览器具有默认选项启用Chrome在后台运行。
仔细检查窗口或进程列表的任务栏,以确保不存在任何chrome实例。
这就是--ssl-key-log-file
无法正常工作的原因,单击退出按钮后chrome仍然存在。
答案 6 :(得分:-4)
除了他们已经指出的内容外,我想展示三点可能会有所帮助。这些是Linux(CentOS)的提示
确保可以编写和阅读与SSLKEYLOGFILE
相关的文件,以确保您可以使用:
chmod -R 777 sslkey.txt
确保您使用上述文件在同一用户下打开您的Firefox或Chrome,例如在root下。