我在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
有人可以帮我解决这个错误吗?
答案 0 :(得分:9)
此错误是由于最近名为Poodle的OpenSSL SSL v3漏洞造成的。
Apple(以及其他许多人)已禁用SSL v3,但APNSWrapper明确使用SSL v3。
永远不要害怕修复很容易。更改此行代码:
ssl_version = self.ssl_module.PROTOCOL_SSLv3,
阅读:
ssl_version = self.ssl_module.PROTOCOL_TLSv1,
在APNSWrapper/connection.py
第131行。
确保重新启动任何正在运行的进程,以便编译新代码。
另外请记住,您正在更新软件包而不是您自己的代码,因此如果您在另一台服务器上重新安装APNSWrapper软件包,则需要重新修补。祝你好运!