iphone - 为什么APNS需要Entrust ssl证书的ssl

标签 iphone ssl apple-push-notifications

大家好 为什么苹果给出了委托(delegate)ssl的链接,有必要吗? http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingWIthAPS/CommunicatingWIthAPS.html 先看注释:

注意:要与 APNs 建立 TLS session ,必须在提供商的服务器上安装 Entrust Secure CA 根证书。如果服务器运行的是 Mac OS X,则此根证书已在钥匙串(keychain)中。在其他系统上,证书可能不可用。您可以从 Entrust SSL Certificates 网站下载此证书。

最佳答案

是的,证书是与 APNs 建立 TLS session 所必需的。
但是您不需要从 Entrust 购买证书。 (我想这就是你的想法,因为在 Entrust 网站上有一个巨大的 $xxx 证书框)

APNs 使用安全连接到使用来自 Entrust 的证书的服务器。当您的计算机上未安装 CA 根证书时,此连接将失败。所有“常规”证书仅在根证书为您的计算机所知时才有效。这是他们要您下载的文件。

但很可能已经安装了 Entrust Secure CA 根证书。我使用了来自 Ubuntu 和 Arch Linux 的 APNs,我没有安装任何来自 Entrust 的东西。这是我的 arch 安装,所有必要的根 ca 证书都已经存在:

[root@dellbook certs]# ls /etc/ssl/certs/Entrust*
/etc/ssl/certs/Entrust.net_Global_Secure_Personal_CA.pem
/etc/ssl/certs/Entrust.net_Global_Secure_Server_CA.pem
/etc/ssl/certs/Entrust.net_Premium_2048_Secure_Server_CA.pem
/etc/ssl/certs/Entrust.net_Secure_Personal_CA.pem
/etc/ssl/certs/Entrust.net_Secure_Server_CA.pem
/etc/ssl/certs/Entrust_Root_Certification_Authority.pem

关于iphone - 为什么APNS需要Entrust ssl证书的ssl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4817520/

相关文章:

iphone - 如何在 iphone 中将 NSArray 数据分配给 NSMutableArray?

ios - 完成启动后或在我们的应用程序内启用/禁用推送通知

ios - 如何在 iOS 中将默认本地化语言设置为德语而不是英语?

c++ - quickfix c++ 配置文件中的 SocketUseSSL 属性

javascript - Firebase 云消息传递 sendToDevice 工作正常,但 sendMulticast 对于相同的 token 列表失败

ios - 对多关系作为 sectionNameKeyPath

Heroku 的 SSL 端点无法解析

android:为什么客户端在未由与服务器相同的 CA 签名时不发送 ssl 证书

ios - 创建配置文件时无法选择苹果证书

ios - 是否可以设置一个 Ibeacon 将推送通知发送到独立于 iOS7 中已安装应用程序的移动设备?