2016-04-18 74 views
1

我尝试使用仅适用于OpenSSL 1.0.1的Python连接到损坏的服务器。如果我使用OpenSSL 1.0.2进行连接,则会失败并显示EOF错误。没有办法绕过它,相信我。在Windows上降级OpenSSL for Python

>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,但我可以:使用OpenSSL 1.0.2船舶 - 2.7.11 -

最新的Python 2.7(也要求)的Windows安装在Python目录中找不到任何OpenSSL DLL。 Python是静态链接到OpenSSL的吗?有没有任何简单我可以降级它的方式,除了只使用旧版本的Python?如果不是,我怎么知道哪个版本的Python切换到了1.0.2?

(请没有关于如何,这是安全性差,或服务器应如何固定等评论)

+0

Stack Overflow是编程和开发问题的网站。这个问题似乎与题目无关,因为它不涉及编程或开发。请参阅帮助中心的[我可以询问哪些主题](http://stackoverflow.com/help/on-topic)。也许[超级用户](http://superuser.com/)或[Unix&Linux堆栈交换](http://unix.stackexchange.com/)会是一个更好的地方。另请参阅[我在哪里发布有关Dev Ops的问题?](http://meta.stackexchange.com/q/134306)。 – jww

+0

这不是关于编程和开发? – Timmmm

回答

0

根据the Python changelog它看起来像Python 2.7.9使用OpenSSL的1.0.1j和2.7.10用途1.0.2a,所以这是一个选项。如果我可以使用最新的OpenSSL 1.0.1和最新的Python 2.7,那么它仍然会更好,所以还有其他答案仍然值得赞赏!

+1

确实似乎每个版本的Python都链接到特定版本的OpenSSL。所以你唯一的选择就是降级。如果你真的绝望了,你可以安装旧的OpenSSL库,并使用'ctypes'编写自己的OpenSSL Python实现。请参阅http://python.6.x6.nabble.com/Determining-version-of-OpenSSL-linked-against-python-td4333385.html。但那将是一项重大任务。 – NZD