我正在尝试使用APNS发送推送通知。我有不同的应用程序集生成使用不同的配置文件(针对不同的苹果帐户)。例如:我有使用Apple Profile X开发的应用程序ABC,以及使用相同配置文件X的提供商证书的APNS代码。当我使用此证书发送推送通知时,它们将正确发送到应用程序。
但当我使用使用Apple Profile Y生成的提供商证书时,它不会将消息传递到使用profile X开发的应用程序。
我想知道,如果我想发送通知到我的服务器上注册的推送通知的任何应用程序,我应该使用什么样的提供商证书?
是否有可以向任何应用程序发送消息的通用提供商证书?
当我在交叉证书场景中测试时,我得到以下异常:
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:174)
at com.sun.net.ssl.internal.ssl.Alerts.getSSLException(Alerts.java:136)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1586)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:865)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1029)
at com.sun.net.ssl.internal.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:677)
at com.sun.net.ssl.internal.ssl.AppInputStream.read(AppInputStream.java:75)
at 我确信我使用的证书是正确的,因为它适用于相同配置文件的应用程序。
如果需要,请要求更多的澄清。
发布于 2012-11-02 05:11:10
您不能使用一个证书向多个应用程序发送APNS。你不能使用为一个应用生成的证书向另一个应用发送APNS。它将每个证书绑定到一个应用程序,并且只能用于向该应用程序发送推送通知。除此之外,您还可以为每个应用程序生成一个用于沙箱环境的证书和一个用于生产环境的证书。您不能使用沙箱证书将app发送到使用生产证书构建的应用程序,反之亦然。
https://stackoverflow.com/questions/13139822
复制相似问题