Java APNS получил фатальное предупреждение: certificate_unknown

Я пытаюсь отправить push-уведомления с помощью APNS. У меня есть разные наборы приложений, созданные с использованием разных профилей подготовки (для разных учетных записей Apple). Например: у меня есть приложение ABC, разработанное с использованием Apple Profile X, и код APNS с использованием сертификата поставщика того же профиля X. Когда я отправляю push-уведомления с использованием этого сертификата, они правильно доставляются в приложения.

Но когда я использую сертификат поставщика, созданный с использованием профиля Apple Y, он не доставляет сообщение в приложения, разработанные с использованием профиля X.

Я хочу знать, если я хочу отправлять уведомления любому приложению, зарегистрированному на моем сервере для push-уведомлений, какой сертификат поставщика мне следует использовать?

Существует ли какой-либо сертификат поставщика общего назначения, который может отправлять сообщения в любое приложение?

Я получаю следующее исключение при тестировании в сценарии с перекрестным сертификатом:

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 

Я уверен, что сертификат, который я использую, правильный, поскольку он работает для приложений того же профиля.

Пожалуйста, запросите дополнительные разъяснения, если это необходимо.


person RickDavis    schedule 30.10.2012    source источник


Ответы (1)


Вы не можете использовать один сертификат для отправки APNS в несколько приложений. Вы не можете использовать сертификат, созданный для одного приложения, для отправки APNS в другое приложение. Каждый сертификат привязан к одному приложению и может использоваться только для отправки push-уведомлений этому приложению. Кроме того, вы можете сгенерировать для каждого приложения один сертификат для среды песочницы и один для рабочей среды. Вы не можете использовать сертификат песочницы для отправки APNS в приложение, созданное с использованием производственного сертификата, или наоборот.

person Eran    schedule 01.11.2012