【问题标题】:Downgrade OpenSSL for Python on Windows在 Windows 上为 Python 降级 OpenSSL
【发布时间】:2016-04-18 08:09:08
【问题描述】:

我正在尝试使用仅适用于 OpenSSL 1.0.1 的 Python 连接到损坏的服务器。如果我使用 OpenSSL 1.0.2 连接它会失败并出现 EOF 错误。没有办法绕过它,相信我。

适用于 Windows 的最新 Python 2.7(也是必需的)安装 - 2.7.11 - 随 OpenSSL 1.0.2 一起提供:

>python
Python 2.7.11 (v2.7.11:6d1b6a68f775, Dec  5 2015, 20:32:19) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import ssl
>>> ssl.OPENSSL_VERSION
'OpenSSL 1.0.2d 9 Jul 2015'

理想情况下,我只想切换 DLL,但在 Python 目录中找不到任何 OpenSSL DLL。 Python 是否静态链接到 OpenSSL?除了使用旧版本的 Python 之外,还有什么简单 方法可以降级吗?如果不是,我怎么知道哪个版本的 Python 切换到了 1.0.2?

(请不要告诉 cmets 这是多么糟糕的安全性,或者应该如何修复服务器等)

【问题讨论】:

标签: python windows python-2.7 openssl


【解决方案1】:

根据the Python changelog 看来,Python 2.7.9 使用 OpenSSL 1.0.1j 而 2.7.10 使用 1.0.2a,所以这是一个选项。如果我可以将最新的 OpenSSL 1.0.1 与最新的 Python 2.7 一起使用,那就更好了,所以仍然感谢任何其他答案!

【讨论】:

  • 似乎每个版本的 Python 都链接到特定版本的 OpenSSL。所以你唯一的选择就是降级。如果你真的很绝望,你可以安装旧的 OpenSSL 库并使用ctypes 编写你自己的 OpenSSL Python 实现。见python.6.x6.nabble.com/…。但这将是一项艰巨的任务。
猜你喜欢
  • 1970-01-01
  • 2020-03-28
  • 2020-03-04
  • 1970-01-01
  • 2020-10-28
  • 2019-06-19
  • 2016-11-28
  • 1970-01-01
  • 2015-09-22
相关资源
最近更新 更多