【发布时间】:2023-03-31 23:43:02
【问题描述】:
我正在尝试将 SSL 主密钥和密钥从 chromium 浏览器导出/写入文件。如果有人可以建议我如何做到这一点,我将不胜感激。
要编写 premaster secret,我们可以简单地在环境中导出 SSLKEYLOGFILE 变量。 Wireshark 可以使用 premaster secret 来解密 HTTPS 会话。
预主密钥用于计算主密钥,该主密钥进一步用于创建 6 个密钥 - CLIENT_WRITE_MAC CLIENT_IV CLIENT_WRITE 服务器还有 3 个。
我想将这些密钥输出到文件而不是预主密钥。
我想如果我可以使用 wireshark 代码来简单地输出它,但这更复杂 我相信wireshark处理SSL数据包和使用premaster secret的代码在这里。 github.com/boundary/wireshark/blob/master/epan/dissectors/packet-ssl-utils.c
另一种方法是更改 chromium 浏览器并编译它。我认为这里需要做出改变。 https://code.google.com/p/chromium/codesearch#chromium/src/net/third_party/nss/ssl/derive.c&q=client_write_mac_secret&sq=package:chromium&type=cs&l=214
我正在浏览更多源代码,我发现这个文件是相关的。
查看上面的代码,我注意到可以设置更多的环境变量。有谁知道 SSLDEBUG 环境是否可以以与 SSLKEYLOG 变量相同的方式设置。任何其他方式或技术都会有所帮助
到目前为止,我还无法成功导出密钥。
【问题讨论】:
-
您可能想要 Master 机密(在混合 nonces 和派生之后),而不是 Premaster secret(缺少客户端和服务器随机 nonces)。另见Psst. Your Browser Knows All Your Secrets。
标签: google-chrome ssl https openssl wireshark