[英]apple distribution certificate causes 14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure
I have created an iPhone app that support notifications, by following this tutorial by Ali Hafizji 我按照Ali Hafizji的教程创建了一个支持通知的iPhone应用程序
when running in production I get the following error: 14094410:SSL routines: 在生产中运行时,我收到以下错误:14094410:SSL例程:
SSL3_READ_BYTES:sslv3 alert handshake failure
itunes shows the distribution provisioning : itunes显示分发配置:
Enabled Services: Game Center, In-App Purchase, Push Notifications
Expires:Sep 15, 2015
Status:Active
I've loaded the pem file to the server and call it like so: 我已经将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()
I understand Apple stopped using SSL 3.0 to send push notifications, and we need to use TSL instead the apple documentation doesn't have an example, can anyone point me to a tutorial, for Python/Django? 我理解Apple停止使用SSL 3.0发送推送通知,我们需要使用TSL而不是Apple文档没有示例,有人能指点我的教程,对于Python / Django? (just to be clear I did google for a tutorial but didn't find one)
(只是为了清楚我做谷歌的教程,但没有找到一个)
The reason is because Apple stopped using SSL 3.0 to send push notifications. 原因是Apple停止使用SSL 3.0发送推送通知。
Why? 为什么? A news published in late September 2014 said it was not secure anymore.
2014年9月底发布的一则新闻称,它不再安全。 Read Apple note
阅读Apple note
You can google "BEAST attack" for more information. 您可以谷歌“BEAST攻击”获取更多信息。
Now? 现在? Your service needs to use TLS.
您的服务需要使用TLS。 Here is Apple documentation
这是Apple文档
I had same issue, turned out that I was running the script with PHP command on my Mac terminal. 我遇到了同样的问题,结果发现我在Mac终端上使用PHP命令运行脚本。 Copied the files to my server and it is working now.
将文件复制到我的服务器,它现在正在运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.