程序员人生 网站导航

APNS push 服务器端 SSL3.0 转 TLS (iPhone苹果推送服务)

栏目:互联网时间:2014-11-15 00:29:18

(转载此文,请说明原文出处)

苹果的官方发布

Update to the Apple Push Notification Service

October 22, 2014
The Apple Push Notification service will be updated and changes to your servers may be required to remain compatible.


In order to protect our users against a recently discovered security issue with SSL version 3.0 the Apple Push Notification server will remove support for SSL 3.0 on Wednesday, October 29. Providers using only SSL 3.0 will need to support TLS as soon as possible to ensure the Apple Push Notification service continues to perform as expected. Providers that support both TLS and SSL 3.0 will not be affected and require no changes.

"鉴于SSL 3.0最新发现的漏洞,为了保护用户,APNS决定在下周3也就是10月29号起开始停止对SSL 3.0的支持。所有仅支持SSL 3.0的推送服务需要更换为TLS以确保推送服务能够正常运行,同时支持了SSL 3.0和TLS的服务不会遭到此次更新的影响。(下午我们公司所有的推送服务立马停止了)


To check for compatibility, we have already disabled SSL 3.0 on the Provider Communication interface in the development environment only. Developers can immediately test in this development environment to make sure push notifications can be sent to applications.


SSL和TLS

 Secure Socket Layer (SSL) and its successorTransport Layer Security (TLS) are protocols which use cryptographic algorithms to secure the communication between 2 entities. It is just a secure layer running on top of HTTP.



系统对SSL和TLS协议的支持情况


如果你的系统不支持,赶快更新吧。


修改进程很简单(java和php平台修改方式1样,目前我们公司是.net的平台)

具体以下:

找到对应文件:



将SslProtocols.Ssl--改成->SslProtocols.Tls,便可。



将SslProtocols.Ssl--改成->SslProtocols.Tls,便可。


其他语言编写的push服务,默许类库中都支持此枚举类型如:java中是这样的

final SSLContext sslContext = SSLContext.<span style="color:#ff6666;">getInstance("TLS");</span> sslContext.init(kmf.getKeyManagers(), tmf.getTrustManagers(), null);

其他语言做类似修改便可。


希望对大家有帮助!



------分隔线----------------------------
------分隔线----------------------------

最新技术推荐