Apple Push-уведомление SSLHandshakeException

Окружающая среда:

  1. Windows Server 2012 R2
  2. JRE 1.8.0_101
  3. IBM WAS Liberty Core 8.5.5.5
  4. IBM МФУ 7.1.0.00.20150913-2345

Порт APNS включен:

  1. gateway.sandbox.push.apple.com 2195
  2. gateway.push.apple.com 2195

проверено телнетом, он подключается.

Сборка iPhone была протестирована с Eclipse studio, она работает нормально, но то же самое указывает на удаленный сервер и дает следующую ошибку.

    [7/23/16 16:02:49:822 GST] 00000126 om.ibm.pushworks.server.notification.apns.ApnsConnectionImpl I Failed to send message Message(Id=2; Token=sdfsadfsdfsdfsdfsdf; Payload={"payload":"{\"tag\":\"Push.ALL\"}","aps":{"alert":{"action-loc-key":null,"body":"مرحبا كيف حالك اليوم؟"}}})... trying again after delay
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at java.io.OutputStream.write(Unknown Source)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
    at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

[7/23/16 16:02:49:838 GST] 00000125 om.ibm.pushworks.server.notification.apns.ApnsConnectionImpl I Failed to send message Message(Id=1; Token=sgaskjgsdkahdsfgksadhfgksdhfgsakdjfhgasdkhfds; Payload={"payload":"{\"tag\":\"Push.ALL\"}","aps":{"alert":{"action-loc-key":null,"body":"مرحبا كيف حالك اليوم؟"}}})... trying again after delay
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at java.io.OutputStream.write(Unknown Source)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
    at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

[7/23/16 16:02:51:501 GST] 00000125 om.ibm.pushworks.server.notification.apns.ApnsConnectionImpl E Couldn't send message after 3 retries.Message(Id=1; Token=sgaskjgsdkahdsfgksadhfgksdhfgsakdjfhgasdkhfds; Payload={"payload":"{\"tag\":\"Push.ALL\"}","aps":{"alert":{"action-loc-key":null,"body":"مرحبا كيف حالك اليوم؟"}}})
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at java.io.OutputStream.write(Unknown Source)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
    at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

[7/23/16 16:02:51:501 GST] 00000125 ibm.pushworks.server.notification.apns.ApplicationConnection E FPWSE1083E: Failed to send APNS notification with identifier 1, device token: sgaskjgsdkahdsfgksadhfgksdhfgsakdjfhgasdkhfds
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at java.io.OutputStream.write(Unknown Source)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
    at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R Exception in thread "pool-5-thread-1" 
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R com.notnoop.exceptions.NetworkIOException: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at com.notnoop.apns.internal.Utilities.wrapAndThrowAsRuntimeException(Utilities.java:277)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:319)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at java.lang.Thread.run(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at sun.security.ssl.Alerts.getSSLException(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at sun.security.ssl.Alerts.getSSLException(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at sun.security.ssl.AppOutputStream.write(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at java.io.OutputStream.write(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
[7/23/16 16:02:51:516 GST] 00000125 SystemErr                                                    R  ... 5 more
[7/23/16 16:02:51:516 GST] 00000126 om.ibm.pushworks.server.notification.apns.ApnsConnectionImpl E Couldn't send message after 3 retries.Message(Id=2; Token=sdfsadfsdfsdfsdfsdf; Payload={"payload":"{\"tag\":\"Push.ALL\"}","aps":{"alert":{"action-loc-key":null,"body":"مرحبا كيف حالك اليوم؟"}}})
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at java.io.OutputStream.write(Unknown Source)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
    at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

[7/23/16 16:02:51:516 GST] 00000126 ibm.pushworks.server.notification.apns.ApplicationConnection E FPWSE1083E: Failed to send APNS notification with identifier 2, device token: sdfsadfsdfsdfsdfsdf
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.Alerts.getSSLException(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
    at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
    at sun.security.ssl.AppOutputStream.write(Unknown Source)
    at java.io.OutputStream.write(Unknown Source)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
    at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
    at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R Exception in thread "pool-5-thread-2" 
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R com.notnoop.exceptions.NetworkIOException: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at com.notnoop.apns.internal.Utilities.wrapAndThrowAsRuntimeException(Utilities.java:277)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:319)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:292)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at com.notnoop.apns.internal.ApnsPooledConnection$2.run(ApnsPooledConnection.java:47)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at java.lang.Thread.run(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at sun.security.ssl.Alerts.getSSLException(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at sun.security.ssl.Alerts.getSSLException(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at sun.security.ssl.SSLSocketImpl.writeRecord(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at sun.security.ssl.AppOutputStream.write(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at java.io.OutputStream.write(Unknown Source)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  at com.ibm.pushworks.server.notification.apns.ApnsConnectionImpl.sendMessage(ApnsConnectionImpl.java:302)
[7/23/16 16:02:51:516 GST] 00000126 SystemErr                                                    R  ... 5 more

person Karikalan    schedule 23.07.2016    source источник


Ответы (1)


Обычно это происходит из-за различий в версиях Java между машинами, на которых установлен ваш сервер (dev и prod). Например:

Также может произойти, если не все порты открыты, например, для службы обратной связи:

  • feedback.push.apple.com, порт 2196 feedback.sandbox.push.apple.com через порт 2196
person Idan Adar    schedule 23.07.2016
comment
Feedback.push.apple.com, порт 2196 feedback.sandbox.push.apple.com на порту 2196 доступны через telnet. Кроме того, я хотел бы понять, имеет ли значение версия Java для Dev и Prod. Если это правда, какую версию мне следует использовать, потому что я пробовал с JRE 7 и JRE 8. Но все равно не повезло. Исключение, которое я получаю при вызове Push-уведомления, но не при создании среды выполнения MFP - person Karikalan; 01.08.2016