python - 无法选择密码

标签 python ssl openssl

我在 python 2.7/Win XP 上与 IDEA-CBC-SHA 建立 ssl 连接时遇到问题。

这是代码:

ciphers = "IDEA-CBC-SHA"

ssl_sock = ssl.wrap_socket(self.sock,
                           keyfile  = keyfile,
                           certfile = certfile,
                           ciphers  = ciphers)

ssl_sock.connect((address, port))

这是结果:

SSLError: _ssl.c:319: No cipher can be selected.

当我查询 openssl 时,我将 IDEA-CBC-SHA 视为列出的密码之一

OpenSSL> ciphers
DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:AES256-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:DES-CBC3-SHA:DES-CBC3-MD5:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:AES128-SHA:IDEA-CBC-SHA:IDEA-CBC-MD5:RC2-CBC-MD5:RC4-SHA:RC4-MD5:RC4-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:DES-CBC-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-RC2-CBC-MD5:EXP-RC4-MD5:EXP-RC4-MD5

我测试过其他密码(DES-CBC3-SHA、RC4-SHA、AES256-SHA、AES128-SHA),它们都运行良好。

知道为什么我的 ssl 连接可能因该特定密码而失败吗?

有没有办法禁用(然后启用)密码?

谢谢!

最佳答案

Any idea why my ssl connection might be failing for this specific cipher?

可能你连接的服务器不支持IDEA。数据包捕获将证实这一点。

编辑:在 ssl 连接中,客户端建议它愿意使用的密码选项列表。服务器从该列表中选择一个服务器认为可接受的选项。如果服务器不喜欢客户端提出的任何选项,则连接将失败,因为服务器无法选择密码套件

关于python - 无法选择密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4617113/

相关文章:

c - OpenSSL C 程序在 PKCS7_sign 函数上变得无响应

c++ - OpenSSL 客户端验证 - 需要客户端验证要求

python - 雪花: SQL compilation error: error line invalid identifier '"dateutc"'

python - python-mysql-connector 1.16、django 1.6 和 python 3.2.3 导入错误

python - django 模型字段的不同 setter 和 getter

Apache Jboss SSL 身份验证

C++ OpenSSL RSA 加密忽略不可打印字符

python - 将一个数字的位数相加

java - 错误 : Alias name [null] does not identify a key entry during implementing SSL in Tomcat

php - 媒体库未在 Wordpress 中显示 + 某些插件的图标