与Apple推送通知服务器连接时SSLHandshakeException

Cha*_*kag 2 java api ssl-certificate apple-push-notifications

我是新来的。我在这里生成了证书签名请求。然后,我使用该.p12格式的证书文件通过java-apns与Apple推送通知服务器建立连接。这是我使用的代码。

ApnsService service =
            APNS.newService()
                    .withCert("/home/ApplePush/apple.p12", "abc")
                    .withProductionDestination()
                    .build();
    service.testConnection();
Run Code Online (Sandbox Code Playgroud)

但是,当我运行此代码时,它会给我以下欺骗。

“线程“主”中的异常com.notnoop.exceptions.NetworkIOException:javax.net.ssl.SSLHandshakeException:收到致命警报:handshake_failure”。

我做错了什么?

小智 5

嗨,我遇到了完全相同的问题。像您一样,我遵循raywenderlinch教程,并在后端使用java-apns库与APNS进行通信。本教程中的证书是针对php的,它们正在使用.pem文件执行某些操作,而Java-apns调用不需要这些文件。

我向Java-apns提供了您在本教程开始时创建的第一个.p12证书。那是我的错误。您需要做的是从苹果(aps_developer_identity.cer)生成的证书中生成.p12。双击它,然后在密钥库管理器mac app导出为.p12中使用一些密码,并尝试使用此.p12和密码与java-apns连接。

当然,必须正确执行ray教程中说明的与供应门户相关的所有内容。

那就是解决了我的sslHandShakeException的原因。我不知道您是否遇到完全相同的问题,但希望如此,此信息可以为您提供帮助。