Java notnoop,APNS 未从 tomcat 内部找到受信任的证书

标签 java tomcat certificate apple-push-notifications

我们已经使用 notnoop 实现了 APNS 连接。在过去的 5 个月里,我们一直在开发和 UAT 环境以及其他环境中对其进行测试。事情按预期工作,但部署到生产环境后我们很难让它工作,GCM 工作正常,只有 APNS 我们有困难。

最初存在来自防火墙的连接问题,我们已打开防火墙以连接到 2195 上的 gateway.push.apple.com,因为较早的系统正在抛出 连接超时

现在系统正在抛出 No Trusted Certificate found 我在下面描述了我们已经采取的调试此问题的详细步骤。

请注意,只有当我将它部署到生产环境时才会发生这种情况,当它在 Tomcat 8.0 中运行时也会发生这种情况。我们做了一个小的 POC 来测试它是否可以在 tomcat 之外工作,并且它可以使用来自相同绝对路径的相同证书正常工作。

  • 我们确实在更改实现后尝试使用证书的绝对路径,如下所示

    APNS.newService().withCert(PRODcertificatePath, PRODcertificatePassword)

程序配置为使用 .withProductionDestination() 如果它正在使用生产证书,反之亦然,所以这个问题也得到了关注。

  • 然后我们还尝试使用 ClassLoader InputStream iss = ClassLoader.getSystemResourceAsStream("Axis-APNS.p12")

是的,我们在生产环境中确实有 JKS 文件,其详细信息在 server.xml 中配置,如下所示

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" sslProtocol="TLS" keystoreFile="/root/cert" 

现在我们无法调试并找到根本原因,欢迎任何建议和问题。

最佳答案

作为解决方法,我重新设计了我的系统。不是从 tomcat 内部运行,而是使用 Quartz 批处理作业将其作为独立应用程序,系统运行正常。一旦我有时间找出为什么 tomcat 无法选择正确的证书,就会更新你们。非常感谢您抽出宝贵时间...如果您在上述问题上需要更多帮助,请给我发电子邮件。
谢谢,
阿玛 git

关于Java notnoop,APNS 未从 tomcat 内部找到受信任的证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38626643/

相关文章:

java - 东南亚标准时区在解析日期格式期间显示不可解析的日期异常

windows - 如何使用加密 api 获取颁发者证书公钥

ios - 如何确保调试版本和应用商店版本相同?

java - Hibernate Criteria in Clause 在 1 个查询中有 2 个条件

java - 链表的 remove() 方法

java - Amazon Ec2 FTP 写入权限

tomcat - 更改 gradle-tomcat-plugin 根 Web 应用程序目录

java - 已为此响应调用 getOutputStream()

ssl - 从普遍信任的证书创建我自己的中间证书颁发机构

java - For 循环不循环字符串列表?