首页 > 代码库 > APNS push server端 SSL3.0 转 TLS (iPhone苹果推送服务)

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

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

苹果的官方公布

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决定在下周三也就是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协议的支持情况

技术分享

假设你的系统不支持。赶紧更新吧。


改动过程非常easy(java和php平台改动方式一样,眼下我们公司是.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);

其它语言做类似改动就可以。


希望对大家有帮助。



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