Chrome不是Firefox不会转储到SSLKEYLOGFILE变量

Chrome不是Firefox不会转储到SSLKEYLOGFILE变量

问题描述:

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

使用Firefox的功能似乎默认禁用,并且是only available in debug builds。使用Chrome时,通过将NSS(实现此功能并在Firefox中使用)的底层SSL引擎切换到BoringSSL(可能不具备此功能),该功能可能会消失。

更新:根据@Lekensteyn(请参阅评论),该功能在当前的Firefox和Chrome版本中仍然可用。

+0

火狐已经在一个版本仅禁用的关键日志记录功能,它们是恢复和当前的版本不支持该功能。 Chrome也支持BoringSSL的这个功能。 – Lekensteyn

+0

@Lekensteyn:感谢您提供最新的信息。我已经更新了答案。 –

尝试Firefox开发者版,上述功能默认打开。我昨天只进行了测试。

你在做错事。测试版本58 &您不需要重新启动。要激活:

  1. 设置环境变量例如SSLKEYLOGFILE%USERPROFILE%\sslkeysENV.pms
  2. 运行镶边参数例如为: "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --ssl-key-log-file=%USERPROFILE%\sslkeysARG.pms
+0

这个答案的语法本来是不正确的,但我已经提交了一个修正它的编辑(你的路径稍微偏离了,你需要一个双破折号 - 标志)。据说,我的VPN有一些成功,但在VPN内部。网络,有时似乎有效,而其他则不行。不知道有什么区别。 – n00b

+0

第二个选项对我有用,thx – Matthieu

而且他们已经指出的那样,我想说明三点,可以帮助。这些是为Linux(CentOS的)提示

  1. 确保有关SSLKEYLOGFILE文件可以被写入和读出,以确保您可以使用:

    chmod -R 777 sslkey.txt 
    
  2. 确保您的Firefox或Chrome在相同的用户下使用所提及的文件打开,例如在根目录下。

  3. 寻找一些有用的意见here
+0

1.'chmod 640 sslkey.txt'会更好。其他/任何人都不应具有SSLKEYLOGFILE的权限;如果文件系统支持访问控制列表,您可以改为使用公共用户组或setfacl。 2.你不应该以root身份运行浏览器。 3.'setcap'CAP_NET_RAW + eip CAP_NET_ADMIN + eip'/ usr/sbin/dumpcap; chmod o-rx/usr/sbin/dumpcap'避免向数据包捕获实用程序(可能是TBH,作为用户运行,而没有读取当前用户文件的权限)授予root权限。 –