【发布时间】:2023-04-05 13:47:01
【问题描述】:
我在 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 连接对于这个特定的密码可能会失败吗?
有什么方法可以禁用(然后启用)密码吗?
谢谢!
【问题讨论】:
-
IDEA 支持(以及 MDC2 和 RC5)由于专利问题而有些不常见。大多数发行版在没有它的情况下构建他们的 OpenSSL 库,自然大多数服务器使用他们发行版附带的任何东西。出于同样的原因,浏览器不支持它。
-
@SilverbackNet 那么当我在 OpenSSl 命令行上运行 ciphers 命令时这意味着什么?这不是它支持的密码列表吗?如果列出了 IDEA-CBC-SHA,是否不能确认它受支持?如果不是,那么有什么方法可以确定我的系统支持哪些密码?谢谢。