我正在尝试使用javapns向 IOS 发送推送通知。代码中正确提及了密钥库(P12)文件的路径及其密码。
List < PushedNotification > NOTIFICATIONS = Push.payload(payload, "/home/sunil/Downloads/pushCertCurrent.p12", "password", false, "7964b31ec8b8a194f8c6b84924088d7b29bd98ecc28162e771f623d5ef0a39b6");
但是在向上面代码中最后一个参数提到的设备令牌的设备发送通知时,我收到javax.net.ssl.SSLException: Received fatal alert: internal_error
我已使用-Djavax.net.debug=all参数附加调试器并在控制台中获取以下日志。
这是我得到的日志的一部分。
main, READ: TLSv1.2 Alert, length = 2
main, RECV TLSv1.2 ALERT: fatal, internal_error
%% Invalidated: [Session-1, SSL_RSA_WITH_3DES_EDE_CBC_SHA]
main, called closeSocket()
main, handling exception: javax.net.ssl.SSLException: Received fatal alert: internal_error
javax.net.ssl.SSLException: Received fatal alert: internal_error
at sun.security.ssl.Alerts.getSSLException(Alerts.java:208)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2023)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1125)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375)
at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:747)
at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:123)
at java.io.OutputStream.write(OutputStream.java:75)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:427)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:366)
at javapns.notification.PushNotificationManager.sendNotification(PushNotificationManager.java:336)
at javapns.Push.sendPayload(Push.java:178)
at javapns.Push.payload(Push.java:149)
at com.icube.apns.TestPushNotificationApp.main(TestPushNotificationApp.java:35)
17063 [main] INFO javapns.notification.PushNotificationManager - Attempt failed (Received fatal alert: internal_error)... trying again
main, called close()
main, called closeInternal(true)
18495 [main] DEBUG javapns.communication.ConnectionToAppleServer - Creating SSLSocket to gateway.sandbox.push.apple.com:2195
Allow unsafe renegotiation: false
Allow legacy hello messages: true
Is initial handshake: true
Is secure renegotiation: false
main, setSoTimeout(30000) called
26600 [main] DEBUG javapns.notification.PushNotificationManager - Reading responses
main, setSoTimeout(5000) called
请帮我弄清楚我在哪里做错了,这是我这边的问题还是苹果那边的问题。