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 в приложение, созданное с использованием производственного сертификата или наоборот.