我正在尝试使用java-apns 库进行推送消息。
我目前正在尝试使用它,.withSandboxDestination()
但我收到一条错误消息:javax.net.ssl.SSLHandshakeException: Received fatal alert: handshake_failure
.
我在很多地方读到过这可能是由于缺少 CA 根证书。与 Apple 推送通知服务的提供者通信说:
要与 APN 建立 TLS 会话,必须在提供商的服务器上安装 Entrust Secure CA 根证书。如果服务器正在运行 OS X,则此根证书已在钥匙串中。在其他系统上,证书可能不可用。您可以从 Entrust SSL 证书网站下载此证书。
我在开发阶段使用的是 windows7 机器。我打开 mmc.exe 并添加了证书管理单元(为“计算机”设置 - Q1:这是正确的做法吗?),我可以在Certificates (Local Computer)
-> Trusted root certification authorities
-> Certificates
Entrust.net 的以下两个证书下看到:
Entrust.net Certification Authority (2048)
Entrust.net Secure Server Certification Authority
但是,在Entrust.net 网站上还有更多证书...
Q2:我需要哪些证书?Q3:我是否在寻找正确的地方或者tomcat中的java根本没有使用我的计算机证书?Q4:有没有办法让我看到苹果的 gateway.sandbox.push.apple.com 使用的证书,端口 2195 ?
任何帮助表示赞赏。