问题
我遇到了在centos上设置Apple的问题。我已经部署了我的Apache tomcat,并且运行良好。此外,我还使用Javapns发送推送消息。
我的推送通知在windows ( eclipse和Apache独立版)上运行良好。但是,一旦我将应用程序部署到服务器(Centos 6),就会得到错误:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: NoTrudCertificatefind
正如我所说的,我使用的是p12证书,它在Windows上工作得很好。但在Centos上没有运气。
环境:
Apache与Spring 4一起部署了with应用程序。使用Java 1.7.57在centos 6上运行。当然,使用Javapns来启动推送通知。我认为值得一提的是,我的P12证书被放置在WEB/certs/证书.p12中。
-I没有我的for服务器的SSL证书。
我的问题:
我几乎什么都试过了,发这篇文章是因为我觉得自己被这个问题困住了。
提前谢谢你。
发布于 2015-07-29 06:53:45
谢谢muenzpraeger的建议,但这不是解决办法。
我可以通过在http://cloudfields.net/blog/ios-push-notifications-encryption/上找到的伟大的帖子来解决这个问题
如前所述,该问题与验证证书以在SSL上进行通信有关。我不得不命令行Apple的证书。一切都像魔法一样。
我很高兴,尽管你已经发布了,因为它引导我阅读更多关于密钥商店。
谢谢你的帮助。
发布于 2015-07-28 03:10:26
使用APNS时,您的服务器通过SSL连接到Apple服务器。您收到的消息意味着您使用的Java环境不知道颁发证书,因此无法构建信任链来验证服务器证书。
如果在JVM密钥存储库中找到Apple证书,请首先使用以下命令<javabin>/keytool -list -keystore <javahome>/jre/lib/security/cacerts进行检查。
如果在其中找不到Apple,可以使用以下命令导入它们。
<javabin>/keytool -import -noprompt -trustcacerts -alias <an_alias> -file <the_cert_file> -keystore <javahome>/jre/lib/security/cacerts -storepass changeit您将在这里获得苹果根和中间证书:https://www.apple.com/certificateauthority/
https://stackoverflow.com/questions/31576246
复制相似问题