同一证书文件中的多个APNS证书

5
我一直在寻找答案,但似乎找不到。我向我的应用程序的多个版本发送PUSH通知。之前我已经设置了循环遍历每个证书,并将其与用户的应用程序类型进行匹配。实际上,我为每个证书创建一个新的SSL连接,然后发送该特定证书的任何通知。
将所有这些证书转换并在其过期时安装它们有点繁琐。我可以从KeyChain访问中导出多个证书作为单个p12文件并进行转换,这有助于从证书管理角度使事情更简单。问题在于,我的所有PUSH通知都未被接收到。我可以成功连接到APNS,反馈服务也没有报告任何问题,但似乎什么也没有传递。这让我相信APNS只验证文件中的第一个证书,并忽略其他证书,这会允许成功连接,但可能会阻止通知的传递。在这种情况下,我希望看到一个断开的连接或反馈服务上的某些报告,但目前我什么也没有看到。
有人能够成功地做到这一点吗?谢谢。
1个回答

3
让我重申一下:您将多个证书打包到一个容器/集合/其他中,然后使用这些证书建立互相认证的SSL会话与APNS。然后您发送一个请求,以获取与任何一个证书关联的一个或多个设备,但不起作用。如果是这样的话,那么我认为您对问题的总结是正确的。事件序列是在建立SSL会话时评估证书。这是网络协议的一部分,在此阶段,APNS服务器必须选择要使用的证书。然后,在您发送请求时,“应用程序服务器”仅验证设备标记是否包含与证书相同的帐户信息。您的情况并不简单,并且除非苹果公司明确投入精力来支持它,否则没有机会使其工作。在这种情况下,我希望在开发人员文档中提到它。但事实上并没有。在这种情况下,您也不会在反馈服务中看到任何内容,因为反馈只会针对与证书中的帐户相关联的设备进行收集/发送。

顺便提一下,如果你正在使用APNS协议的增强格式,则可以在发送时读取错误响应。有关更多信息,请参见编程指南


是的,你说得对。我想到了这种情况,只是想提出来看看是否有人知道如何使它工作。感谢确认。 - greg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接