notnoopを使用してAPNS接続を実装しました。私たちは開発とUAT環境およびその他の環境でこの5ヶ月間テストしています。状況は期待どおりに機能していましたが、実稼働環境に展開してから作業を開始するのに苦労しています.GCMはうまくいきました。Java notnoop、APNS tomcat内から信頼できる証明書が見つかりません
最初に、gateway.push.apple.com
に接続するために開いたファイアウォールから接続の問題がありました。2195
には、以前のシステムではconnection timeout
が投げられていました。
システムが投げていますNo Trusted Certificate found
私はこれを既にデバッグするための詳細な手順について説明しました。
これは、Tomcat 8.0の内部で実行されているプロダクションでも展開している場合にのみ発生します。私たちはtomcatの外で動作できるかどうかをテストするために小さなPOCを行い、同じ絶対パスから同じ証明書を使用して正しく動作しています。
-
APNS.newService().withCert(PRODcertificatePath, PRODcertificatePassword)
以下のように我々は、それが生産証明書とバイスを使用している場合、プログラムが.withProductionDestination()
を使用するように設定されている証明書の絶対パスを使用するように実装を変更した後にしてみてくださいでした逆もまたこの問題も気になります。
- はその後、我々はまた、はい、我々は詳細今
の下何かのようにserver.xmlで設定されている私たちは、生産上のJKSファイルを持っていないクラスローダ<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" sslProtocol="TLS" keystoreFile="/root/cert"
InputStream iss = ClassLoader.getSystemResourceAsStream("Axis-APNS.p12")
を使用してみましたデバッグと根本原因を見つけるアイデアから、任意の提案、質問は大歓迎です。
詳細を見るために完全なエラートレースを追加 – pedrofb
現在のところ、システムはこの多くの情報を印刷していますが、完全なスタックトレースを出力します。 javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:信頼できる証明書が見つかりません – Amarjeet
回避策として、私は自分のシステムを再設計しました。 Tomcat内部から実行する代わりに、Quartzバッチジョブを使用してスタンドアロンアプリケーションとして作成し、システムが適切に動作している。いったん私はtomcatが正しい証明書を選ぶことができない理由を見つけ出すことができたら、あなたたちをそれに追いつけます。ありがとう、あなたの時間のために...あなたが上記の問題についてもう助けが必要な場合は私にメールしてください。ありがとう、Amarjeet – Amarjeet