我正在尝试使用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
我确信我使用的证书是正确的,因为它适用于相同配置文件的应用。
如果需要,请提出更多说明。
答案 0 :(得分:0)
您无法使用一个证书将APNS发送到多个应用程序。 您无法使用为一个应用程序生成的证书将APNS发送到另一个应用程序。 它绑定到单个应用程序的每个证书,只能用于向该应用程序发送推送通知。 除此之外,您还可以为每个应用程序生成一个沙箱环境证书和一个生产环境证书。您无法使用沙盒证书将APNS发送到使用生产证书构建的应用程序,或者相反。