Java APNS收到致命警报:certificate_unknown

时间:2012-10-30 13:15:29

标签: apple-push-notifications apns-sharp apns-php moonapns

我正在尝试使用APNS发送推送通知。我使用不同的配置文件(针对不同的Apple帐户)生成了不同的应用程序集。例如:我使用Apple Profile X开发app ABC,使用相同Profile X的提供者证书开发APNS代码。当我使用此证书发送推送通知时,它们会正确地发送到应用程序。

但是当我使用使用Apple Profile Y生成的提供者证书时,它不会将消息传递给使用配置文件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 

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

如果需要,请提出更多说明。

1 个答案:

答案 0 :(得分:0)

您无法使用一个证书将APNS发送到多个应用程序。 您无法使用为一个应用程序生成的证书将APNS发送到另一个应用程序。 它绑定到单个应用程序的每个证书,只能用于向该应用程序发送推送通知。 除此之外,您还可以为每个应用程序生成一个沙箱环​​境证书和一个生产环境证书。您无法使用沙盒证书将APNS发送到使用生产证书构建的应用程序,或者相反。