Chrome而非Firefox不会转储到SSLKEYLOGFILE变量

时间:2017-02-19 20:58:25

标签: google-chrome firefox ssl encryption wireshark

我正在尝试使用Wireshark解密SSL包,如here所述。我已经创建了SSLKEYLOGFILE系统和用户变量以及日志文件。我已重新启动计算机(运行Windows 10),并使用Chrome和Firefox打开https网址,但没有写入ssl日志文件。我的Chrome版本是56.0.2924.87(64位),我的Firefox版本是51.0.1(32位)。知道如何让两个浏览器中的任何一个写入该文件?或者有没有办法让SSL密钥能够解密Wireshark中的SSL包?

7 个答案:

答案 0 :(得分:9)

你做错了什么。测试版本58&你不需要重启。要激活:

  1. 设置环境变量,例如SSLKEYLOGFILE%USERPROFILE%\sslkeysENV.pms
  2. 使用参数运行chrome例如: "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)的提示

  1. 确保可以编写和阅读与SSLKEYLOGFILE相关的文件,以确保您可以使用:

    chmod -R 777 sslkey.txt
    
  2. 确保您使用上述文件在同一用户下打开您的Firefox或Chrome,例如在root下。

  3. 查找一些有用的评论here