pyOpenSSL set_cipher_list不影响traffi

2024-03-29 01:41:06 发布

您现在位置:Python中文网/ 问答频道 /正文

更新:似乎多安握手正在重置密码列表


诚然,这是一个非常具体的场景,但也许有人会有一个想法。 我试图强制服务器只接受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),因此没有理由不使用它。在

我使用的是python2.7,pyopenssl0.13,openssl1.0.1e。在

有什么想法吗?在


Tags: self服务器密码列表tls场景原因connection
1条回答
网友
1楼 · 发布于 2024-03-29 01:41:06

显然,在客户端指定服务器名的情况下,为上下文定义了一个回调:

ctx.set_tlsext_servername_callback(handle_sni)

该回调定义了一个新的上下文,该上下文显然在握手过程中用定义的密码重写上下文。解决方案是将密码定义添加到回调中。在

相关问题 更多 >