2014-11-05 110 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命令腳本。將這些文件複製到我的服務器,它現在正在工作。