Python - 请求 HTTP 库 SSL 密钥
Posted
技术标签:
【中文标题】Python - 请求 HTTP 库 SSL 密钥【英文标题】:Python - Requests HTTP Library SSL Key 【发布时间】:2015-10-23 01:06:59 【问题描述】:我正在使用 requests 库来完成与 https 网站的通信。这很好用,我唯一的问题是,wireshark 不再像遵循此说明后那样在“解密的 SSL 数据”选项卡中捕获纯文本信息:
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)
也像 chrome 和 firefox 一样将 ssl 密钥存储到文件中?
根据我对类似的 OpenSSL 实现的了解,您必须在内存中找到主密钥和会话密钥 - 从 cmd 运行时这是可行的还是实用的?
【问题讨论】:
请检查硒库 【参考方案1】:openssl s_client -connect www.google.com:443 -showcerts
您将看到谷歌网站使用的所有证书。
【讨论】:
正在寻找私人会话密钥,而不是公共证书。【参考方案2】:现在这似乎可以通过 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
【讨论】:
谢谢,这些信息看起来非常有用! 适用于 python 3.9 并请求 2.26.0,谢谢 :)以上是关于Python - 请求 HTTP 库 SSL 密钥的主要内容,如果未能解决你的问题,请参考以下文章
12.17 Nginx负载均衡 12.18 ssl原理 12.19 生成ssl密钥对12.20 Nginx配置ssl