Python - 请求HTTP库SSL密钥

时间:2015-07-31 11:07:42

标签: python http ssl https python-requests

我正在使用请求库来完成与https网站的通信。这很有效,我唯一的问题是wireshark不再在" Decrypted SSL Data"中删除纯文本信息。按照此说明操作后的选项卡:

https://jimshaver.net/2015/02/11/decrypting-tls-browser-traffic-with-wireshark-the-easy-way/

设置环境变量,允许chrome和firefox将ssl键存储在文件中,wireshark实时使用此文件。

他们可以修改一个简单的https请求脚本,例如:

import requests
resp = requests.get("https://www.google.com", allow_redirects=True)

还将ssl键存储为chrome和firefox吗?

根据我对类似的OpenSSL实现的理解,你必须在内存中找到主密钥和会话密钥 - 从cmd运行还是实用时这是可行的吗?

2 个答案:

答案 0 :(得分:1)

现在使用 Requests 似乎可以做到这一点。

我已设置 SSLKEYLOGFILE=secrets.log,然后通过 requests.get() 运行请求,secrets.log 现在填充了 TLS 机密。我使用的是 requests v2.25.1 和 urllib3 v1.26.3。

显然,OpenSSL 需要一段时间才能提供提取密钥信息所需的 API,然后需要时间在 pyOpenSSL 中创建绑定以利用这些 API,然后将其冒泡到 urllib3。

有关详细信息,请参阅此问题:https://github.com/psf/requests/issues/3674

答案 1 :(得分:-2)

openssl s_client -connect www.google.com:443 -showcerts

您将看到Google网站使用的所有证书。