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 

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

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

1 ответ

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

Другие вопросы по тегам