gpt4 book ai didi

google-chrome - 编写 SSL 客户端和服务器 key

转载 作者:太空宇宙 更新时间:2023-11-03 13:37:08 27 4
gpt4 key购买 nike

我正在尝试将 SSL 主 key 和 key 从 chromium 浏览器导出/写入文件。如果有人可以建议我如何执行此操作,我将不胜感激。

要写入预主 key ,我们可以简单地在环境中导出 SSLKEYLOGFILE 变量。premaster secret 可以被 wireshark 用来解密 HTTPS session 。

预主 key 用于计算主 key ,主 key 进一步用于创建 6 个 key -CLIENT_WRITE_MAC客户四客户写服务器还有 3 个。

我想将这些 key 输出到文件而不是预主 key 。

我想我是否可以使用 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

我正在查看更多源代码,我发现这个文件是相关的。

https://code.google.com/p/chromium/codesearch#chromium/src/net/third_party/nss/ssl/sslsock.c&q=SSLKEYLOG&sq=package:chromium&dr=C&l=3569

查看上面的代码,我注意到可以设置更多的环境变量。有谁知道是否可以以与 SSLKEYLOG 变量相同的方式设置 SSLDEBUG 环境。执行此操作的任何其他方式或技术也会有所帮助

到目前为止,我无法成功导出 key 。

最佳答案

我想通了。为此,您需要下载最新版本的 wireshark 源代码。我在 Wireshark 2.0.1 上运行了测试

您需要更改 wireshark 源文件夹中的文件 -/epan/dissectors/packet-ssl-utils.c。

将第 3179 - 3194 行的变量打印到文件中。可以找到Client write key, Server write key, Client MAC key, Server MAC key, Cient IV and Server IV)

用 C 写一个文件使用这个

文件*fptr;fptr = fopen("你要打开文件的目录", "a+");

fprintf("数据");//这会将数据写入文件

注意 - 为了更客观地做到这一点,更改并创建以下函数

void custom_ssl_print_data(const gchar* name, const guchar* data, size_t len){

//写下面几行

文件 *ssl_debug_file;

ssl_debug_file=fopen("你要打开文件的目录","a+");

//从第4927行复制原始功能

void custom_ssl_print_string(const gchar* 名称,const StringInfo* 数据){

//从第 4953 行复制原始功能

现在使用这些函数将您的 key 导出到一个文件。

转到主 wireshark 源文件夹。运行./autogen.sh

./配置

须藤制作

sudo 进行安装

并在终端中运行 wireshark。 (您仍然需要通过导出 SSLKEYLOGFILE 环境变量向 wireshark 提供预主 key 文件)

关于google-chrome - 编写 SSL 客户端和服务器 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36463968/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com