SSLv3握手失败警告

3
我正在Debian 6.0上使用Python 2.6,并获得以下的回溯信息。
File "/home/pwal/api/env/lib/python2.6/site-packages/APNSWrapper/notifications.py", line 194, in notify
apnsConnection.connect(apnsHost, self.apnsPort) 

File "/home/pwal/api/env/lib/python2.6/site-packages/APNSWrapper/connection.py", line 215, in connect
self.context().connect(host, port)

File "/home/pwal/api/env/lib/python2.6/site-packages/APNSWrapper/connection.py", line 161, in connect
self.connectionContext.connect((host, port))

File "/usr/lib/python2.6/ssl.py", line 295, in connect
self.do_handshake()

File "/usr/lib/python2.6/ssl.py", line 279, in do_handshake
self._sslobj.do_handshake()

SSLError: [Errno 1] _ssl.c:490: error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure

请问有人能帮我解决这个错误吗?
1个回答

9

这个错误是由最近的OpenSSL SSL v3漏洞(即Poodle)引起的。

苹果(以及许多其他公司)已禁用SSL v3,但APNSWrapper明确使用了SSL v3。

不用担心,修复很容易。只需更改以下代码行:

ssl_version = self.ssl_module.PROTOCOL_SSLv3,

要阅读:

ssl_version = self.ssl_module.PROTOCOL_TLSv1,

位于APNSWrapper/connection.py第131行。

请确保重新启动所有正在运行的进程,以便新代码得到编译。

同时请记住,您正在更新一个包而不是自己的代码,因此如果您在另一台服务器上重新安装APNSWrapper包,则需要重新打补丁。祝好运!


你救了我的一天 @Jason Leidigh - pavanmvn
1
这让我发现“apns-client”也有同样的问题,通过将backends/stdio.py中的第41行替换为context = OpenSSL.SSL.Context(OpenSSL.SSL.TLSv1_METHOD)来解决。谢谢! - MechEthan

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接