0

我正在尝试使用 APNS 发送推送通知。我使用不同的配置文件(针对不同的 Apple 帐户)生成了不同的应用程序集。例如:我有使用 Apple Profile X 开发的应用程序 ABC,以及使用相同 Profile 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 

我确信我使用的证书是正确的,因为它适用于相同配置文件的应用程序。

如果需要,请要求更多说明。

4

1 回答 1

0

您不能使用一个证书将 APNS 发送到多个应用程序。您不能使用为一个应用生成的证书将 APNS 发送到另一个应用。它与单个应用程序绑定的每个证书只能用于向该应用程序发送推送通知。除此之外,您可以为每个应用程序生成一个用于沙盒环境的证书和一个用于生产环境的证书。您不能使用沙盒证书将 APNS 发送到使用生产证书或其他方式构建的应用程序。

于 2012-11-01T21:11:10.120 回答