Java APNS收到致命警报:certificate_unknown

问题描述:

我试图使用APNS发送推送通知。我使用不同的配置文件(针对不同的Apple帐户)生成了不同的一组应用程序。例如:我有使用Apple Profile X开发的应用程序ABC,以及使用相同Profile X的提供商证书的APNS代码。使用此证书发送推送通知时,它们会正确传送到应用程序。Java APNS收到致命警报:certificate_unknown

但是当我使用使用Apple档案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 

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

如果需要,请索取更多说明。

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