gpt4 book ai didi

python - pyOpenSSL set_cipher_list 对流量没有影响

转载 作者:太空宇宙 更新时间:2023-11-03 18:51:21 24 4
gpt4 key购买 nike

更新:do_handshake 似乎正在重置密码列表

<小时/>

诚然,这是一个非常具体的场景,但也许有人会有想法。我试图强制服务器仅接受 RC4-SHA(仅出于调试原因)。我的代码看起来像这样:

    ctx.set_cipher_list('RC4-SHA')
self.connection = SSL.Connection(ctx, self.connection)
print self.connection.getpeername(), self.connection.get_cipher_list()

根据打印输出,一切正常,并且确实使用 RC4-SHA 设置了连接。但是,查看 Wireshark,我可以看到服务器回复了另一个套件 (TLS_RSA_WITH_AES_128_CBC_SHA (0x002f))。不用说,客户端提出了TLS_RSA_WITH_RC4_128_SHA (0x0005),所以没有理由不使用它。

我使用的是 Python 2.7、pyOpenSSL 0.13、OpenSSL 1.0.1e。我正在处理的代码是 mitmproxy 的一部分。

有什么想法吗?

最佳答案

显然,如果客户端指定服务器名称,则为上下文定义了一个回调:

ctx.set_tlsext_servername_callback(handle_sni)

该回调定义了一个新的上下文,该上下文显然在握手期间使用定义的密码覆盖了上下文。解决方案是将密码定义添加到该回调中。

关于python - pyOpenSSL set_cipher_list 对流量没有影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18313420/

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