SSLKEYLOGFILE环境变量不会填充任何文本文件

时间:2019-08-14 16:07:51

标签: google-chrome ssl firefox windows-10 wireshark

我的操作系统是Windows 10 64位。我使用最新版本的Firefox和Chrome。

我想保存预主密钥以便与WireShark一起使用。

为此,我发现许多教程都建议使用SSLKEYLOGFILE环境变量。

但是,无论我输入此变量的路径如何,Firefox(普通版和开发人员版)或Chrome都不会创建文件。即使重新启动这些浏览器或操作系统也是如此。当我清除浏览器上的缓存时,也是如此。

通过使用以下参数启动浏览器,我发现了使用Chrome设置SSLKEYLOGFILE变量的另一种方法:

--ssl-key-log-file=PATH

尽管此参数确实创建了日志文件,但从未填充它。它仍然是完全空的。

让这个问题更烦人的是,我不知道是否有任何调试日志至少可以让我知道发生了什么。

有人对如何解决此问题有想法吗?

2 个答案:

答案 0 :(得分:0)

已在Chrome和Firefox中验证
Windows 10 64位[版本10.0.17763.379]

我不会在Chrome中使用left: 80标志。在我的测试中,它没有任何作用。

获取SSL密钥日志文件的步骤

  1. 将目录更改为您或您的程序有权访问的目录。我正在使用桌面文件夹。

    <div class="d-flex h-100 w-25 m-0 p-0 position-fixed align-items-center justify-content-center" style="background: transparent; left: 0;">
        <ul>
            <li>
                <svg height="100" width="100" style="left: 20">  <-- Does not allow me to left:20 for some reason, but can allow me to left: 0 above?
                    <circle cx="50" cy="50" r="40" stroke-width="3" fill="red"> </circle>
                </svg>
            </li>
           ....
        </ul>
    </div>
    
    
  2. 设置--ssl-key-log-file变量。这为用户(HKCU)设置它。要将其设置为计算机(HKLM),请在命令末尾添加C:\> cd $HOME\Desktop 标志。

    SSLKEYLOGFILE
  3. 确认已在单独 Powershell窗口中设置了变量(SetX不适用于当前窗口)。

    /m

    还可以通过转到控制面板>系统和安全性>系统>高级系统设置>高级选项卡>环境变量>用户变量来验证SSLKEYLOGFILE是用户变量。您应该会看到类似于powershell示例的清单,其中值是目录。

  4. 打开Chrome / Firefox并访问一个https://stackoverflow.com之类的https网站。

  5. 您应该会在桌面上看到PS C:\Users\rj\Desktop> SetX SSLKEYLOGFILE "$(get-location)\ssl.log"

Image of end result

进一步阅读

  • 2018-12-07,F5,Decrypting SSL traffic:关于执行上述操作的好文章,但跨平台的
  • 2019-03-18,Mozilla,NSS Key Log Format :SSLKEYLOGFILE格式
  • 2018-08-17,Wireshark Bugzilla,Add TLS 1.3 support:具有针对TLS1.3的良好测试pcap / SSLKEYLOGFILE内容(请参见评论83)

您提到您正在使用Wireshark。如果您使用它从捕获中的TLS加密流中导出文件,this article可能会对您有所帮助。

答案 1 :(得分:0)

第一个解决方案:
重启 Chrome

第二种解决方案:
使用火狐