1

我正在尝试使用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

请帮我弄清楚我在哪里做错了,这是我这边的问题还是苹果那边的问题。

4

1 回答 1

0

我发现了问题,这不是我的代码的问题。我刚刚重新生成了苹果的证书/密钥库(P12)并开始工作,生成密钥库时可能存在一些问题。

于 2017-08-08T12:11:02.263 回答