gpt4 book ai didi

spring-mvc - JavAPNS 在本地运行但在 Centos 上不运行

转载 作者:行者123 更新时间:2023-11-28 23:30:07 25 4
gpt4 key购买 nike

问题

我在 centos 上设置 Apple APNS 时遇到问题。我部署了 Apache tomcat 并且工作正常。我还使用 Javapns 发送推送消息。

我的推送通知在 Windows 上运行良好(在 Eclipse 和独立的 Apache 上)。但是一旦我将应用程序部署到服务器(centos 6)我得到错误:javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: 找不到受信任的证书

正如我所说,我使用的是在 Windows 上完美运行的 p12 证书。但在 Centos 上没有运气。

环境:

带有 Spring 4 部署的 Web 应用程序的 Apache Tomcat。在 centos 6 上运行。使用 Java 1.7.57。当然使用 Javapns 来启动推送通知。我认为值得一提的是,我的 P12 证书位于 WEB-INF/certs/certificate.p12 中。

-我的网络服务器没有 SSL 证书。

我的问题:

  • 尽管 Javapns 文档指出 Javapns 旨在作为网络应用程序的一部分甚至独立运行,但我是否必须在服务器上修改任何特殊配置才能运行我的服务?

  • 令我困惑的是,同一个 p12 证书在本地有效,但在 linux 上却无效?

  • 这与服务器上的安全链有关吗?或 Apache tomcat 的设置以允许此类服务运行?

我几乎尝试了一切,因为我觉得这个问题真的很困难,所以发布了这个。

提前谢谢你。

最佳答案

使用 APNS 时,您的服务器通过 SSL 连接到 Apple APNS 服务器。您收到的消息意味着您使用的 Java 环境不知道颁发的证书 - 因此无法构建信任链来验证服务器证书。

首先使用以下命令检查 <javabin>/keytool -list -keystore <javahome>/jre/lib/security/cacerts如果您在 JVM keystore 中找到 Apple 证书。

如果您没有在其中找到 Apple 证书,您可以使用此命令导入它们。

<javabin>/keytool -import -noprompt -trustcacerts -alias <an_alias> -file   <the_cert_file> -keystore <javahome>/jre/lib/security/cacerts -storepass changeit

您将在此处获得 Apple 根证书和中间证书:https://www.apple.com/certificateauthority/

关于spring-mvc - JavAPNS 在本地运行但在 Centos 上不运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31576246/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com