2014-11-05 112 views
3

我已经Ali Hafizji苹果发布证书引起14094410:SSL例程:SSL3_READ_BYTES:SSLV3警报握手失败

在生产中我碰到下面的错误在运行时创建的支持通知的iPhone应用程序,按照这个教程: 14094410 :SSL例程:

SSL3_READ_BYTES:sslv3 alert handshake failure 

iTunes中显示了发行配置:

Enabled Services: Game Center, In-App Purchase, Push Notifications 
Expires:Sep 15, 2015 
Status:Active 

我已经加载PEM文件到服务器并调用它像这样:

theCertfile ='./CK_production.pem' 
    theHost = ('gateway.push.apple.com', 2195) 
    ssl_sock = ssl.wrap_socket(socket.socket(socket.AF_INET, socket.SOCK_STREAM), certfile = theCertfile) 
    ssl_sock.connect(theHost) 
    ssl_sock.write(theNotification) 
    ssl_sock.close() 

我明白苹果使用SSL 3.0发送推送通知就停了,我们需要使用TSL,而不是苹果的文档没有一个例子,任何人都可以指向我的教程,为Python/Django? (只是为了清楚我没有谷歌的教程,但没有找到一个)

回答

1

原因是因为Apple停止使用SSL 3.0发送推送通知。

为什么? 2014年9月下旬发布的一则新闻称,它不再安全。 Read Apple note

你可以谷歌“BEAST攻击”了解更多信息。

现在呢? 您的服务需要使用TLS。 这是Apple documentation

+0

你有链接教程如何设置TLS通知? – 2014-11-07 18:52:40

0

我有同样的问题,事实证明,我在我的Mac终端上运行PHP命令脚本。将这些文件复制到我的服务器,它现在正在工作。