2016-07-28 69 views
0

我們已經使用notnoop實現了APNS連接。我們在過去的5個月裏一直在進行關於開發和UAT環境和其他環境的測試。事情按預期工作,但在部署到生產環境後,我們正在艱難地工作,GCM工作正常,只有APNS我們有艱難的時間。Java notnoop,APNS在tomcat內部找不到可信的證書

最初有來自防火牆的連接問題,我們打開連接gateway.push.apple.com2195,因爲之前的系統投擲connection timeout

現在系統拋出No Trusted Certificate found我已經在下面描述了我們已經採取的詳細步驟來調試這個。

請注意,只有當我在Tomcat 8.0內部運行時將其部署到生產環境時,纔會發生這種情況。我們做了小的POC來測試它是否可以在tomcat之外工作,並且它正在使用來自相同絕對路徑的相同證書正常工作。

  • 我們沒有改變執行使用證書的絕對路徑後嘗試如下圖所示

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

如果使用生產證書和副程序被配置爲使用.withProductionDestination()因此這個問題也被關注。

  • 那麼我們也使用的ClassLoader InputStream iss = ClassLoader.getSystemResourceAsStream("Axis-APNS.p12")

是的,我們確實有生產,其詳細配置server.xml中類似下面

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

現在我們JKS文件試圖出於想法調試和找到根本原因,任何建議,問題都是最受歡迎的。

+0

添加完整的錯誤跟蹤來查看詳細信息 – pedrofb

+0

截至目前系統正在打印這麼多的信息,但會打印完整的堆棧跟蹤。 javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:找不到可信任的證書 – Amarjeet

+0

作爲解決方法,我重新設計了我的系統。不是從tomcat內部運行,而是使用Quartz批處理作爲獨立應用程序,系統運行正常。一旦我有時間瞭解爲什麼tomcat無法挑選正確的證書,將會提升你們的效率。非常感謝您的時間......如果您需要更多關於上述問題的幫助,請發郵件給我。謝謝,Amarjeet – Amarjeet

回答

0

作爲解決方法,我重新設計了我的系統。不是從tomcat內部運行,而是使用Quartz批處理作爲獨立應用程序,系統運行正常。一旦我有時間瞭解爲什麼tomcat無法挑選正確的證書,將會提升你們的效率。非常感謝您的時間......如果您需要更多關於上述問題的幫助,請發郵件給我。
謝謝,
Amarjeet