问题:如何在我的服务器产品的安装程序中安全地包含推送通知所需的SSL证书?
背景:Apple推送通知要求在拨打Apple电话的服务器上安装客户端SSL证书。
我的产品具有传统的客户端/服务器架构,即客户在其Intranet中安装服务器,然后从App Store获取iOS客户端并将客户端连接到其服务器实例。
这里的要点是客户自己安装服务器,而不是我自己管理服务器的云架构。
我的问题是我不知道如何以安全的方式在服务器安装程序中打包推送通知证书。我无法在没有密码的情况下分发.p12文件,因为这会暴露我的私钥,而且我无法使用密码,因为密码必须包含在安装程序中的其他位置,这会破坏目的。我是否需要通过我管理的服务器(具有SSL客户端证书)来中继所有客户的消息?我是否需要手动将SSL证书安装到我的每个客户的网站上?
当然其他人肯定已经遇到过这个问题了吗?或者每个人都搬到了云端?
答案 0 :(得分:4)
这是周末发生在Apple Push证书上的一个重要观察结果。虽然有许多参考资料来设置Apple Push服务器端证书,但这里有一个主要观点,我发现在任何Apple文档或谷歌中都找不到引用。
我的情况:我推送证书(沙盒)在Windows Server上运行良好。现在是生产的时候了。生产证书的安装很多次都是成功的。但是,虽然生产推送传输完全没有错误,但不会向设备生成推送。嗯。
我只是想知道我的Mac的时间离Windows服务器大约一分钟(MacOS和VM-Ware之间的命令标签)。查看Windows和Mac设置,我看到Windows时间设置为“time.windows.com”,mac为“time.apple.com”设置。只是为了踢,我将Windows服务器时间更改为“time.apple.com”。立即,推送现在被发送到设备。尼斯。 : - )
我在这里躲过了一个主要的子弹,这可能会让我疯狂,试图弄清楚这个。我并不认为自己是一名SSL证书大师...我(就像大多数人一样)只是想让这些东西上班,因为我们有更大的鱼类可以炒。
我希望这是有用的信息。
答案 1 :(得分:0)
我只知道为推送通知安装证书的解决方案:
在第一种情况下,您可以部署解决方案,并下载一些代码,例如带密码的xml。