下载entrust_2048_ca.cer文件,并在与苹果通知服务通信的服务器上安装它。无需更新实际推送证书,也不需要更改代码中的任何内容。
重要的是,实际与苹果通知服务通信的服务器已安装证书。
如果您很幸运,您的推送服务器已经与证书颁发机构根目录联系,并且这将自动解决问题。但是,如果您失去了该连接,则除非您有“本地”版本的证书,否则您的通知将无法正常工作。
我正在寻找相同的解决方案,另一个论坛的快速提示是“只需下载 .cer 文件并安装即可” http://www.iphonedevsdk.com/forum/iphone-sdk-development/66878-apns-question-email-apple.html。
我们将在我们的 Linux 服务器上尝试,请查看是否适用于您的情况。
我的PHP5脚本连接到苹果推送服务器,托管在Fedora系统上。对我来说,迁移是透明的。尽管我找不到Entrust证书在我的系统上的位置,但我什么都不用做。也许它可以在PHP5 SSL库中找到。
我在我的OpenBSD服务器上下载并复制了https://www.entrust.net/downloads/binary/entrust_2048_ca.cer文件到/etc/ssl目录下。我没有更改任何服务器端代码,实际上也没有使用entrust证书。(我使用的是苹果的配置网站提供的证书。)
12月23日,我的通知已经发送和接收,无论是否使用entrust证书。我对如何使用entrust cer文件感到困惑。
我认为来自苹果电子邮件的这句话告诉我我没问题:
如果您已经成功验证了APNs沙盒环境中的证书链,则已经拥有所需的根证书。只需在生产推送提供程序服务器上安装相同的根证书即可。
也就是说,通知已经被发送和接收,因此我的服务器已经拥有所需的内容。
更新: 我上面写的似乎是正确的。如果您使用的是相当新的服务器,您可能根本不需要做任何事情。沙盒环境自2010年3月以来一直在使用2048位。如果它一直在工作,那么您就可以了。完整信息在这里: http://www.24100.net/2010/12/latest-apple-push-notification-certificate-changes-decrypted/