2016-07-28 33 views
0

Wir haben APNS-Konnektivität mit Notnoop implementiert. Wir haben es für die letzten 5 Monate auf Entwicklung und UAT-Umgebung und andere Umgebung getestet. Die Dinge funktionierten wie erwartet, aber nach der Bereitstellung in der Produktionsumgebung haben wir es schwer, es zum Laufen zu bringen. GCM funktioniert gut, es ist nur APNS, wo wir harte Zeiten haben.Java Notnoop, APNS Kein vertrauenswürdiges Zertifikat von Tomcat gefunden

Anfangs gab es Konnektivitätsproblem von der Firewall, die wir geöffnet haben, um gateway.push.apple.com auf 2195 zu verbinden, als früheres System connection timeout warf.

Nun wirft das System No Trusted Certificate found Ich habe unten die Detailschritte beschrieben, die wir bereits unternommen haben, um dies zu debuggen.

Bitte beachten Sie, dass dies nur passiert, wenn ich es auf Produktion bereitstellen, auch wenn es in Tomcat 8.0 ausgeführt wird. Wir haben kleine POC getestet, um zu testen, ob es außerhalb von Tomcat funktioniert und es funktioniert ordnungsgemäß mit dem gleichen Zertifikat aus dem gleichen absoluten Pfad.

  • Wir haben versucht, nachdem die Umsetzung ändernden absoluten Pfad Zertifikat zu verwenden, wie unten

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

Das Programm konfiguriert ist .withProductionDestination() zu verwenden, wenn es die Produktion Zertifikat und vice verwendet Im Umkehrschluss wird dieses Problem ebenfalls berücksichtigt.

  • Dann haben wir auch versucht, mit Classloader InputStream iss = ClassLoader.getSystemResourceAsStream("Axis-APNS.p12")

Ja wir JKS-Datei auf Produktion, deren Detail konfiguriert ist, in server.xml so etwas wie unten

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

Jetzt müssen wir aus der Idee zu debuggen und die Ursache zu finden, Jeder Vorschlag, Frage ist sehr willkommen.

+0

Fügen Sie die vollständige Fehlerverfolgung hinzu, um die Details zu sehen – pedrofb

+0

Ab sofort druckt das System so viele Informationen, druckt aber die komplette Stapelverfolgung. javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: Kein vertrauenswürdiges Zertifikat gefunden – Amarjeet

+0

Als Problemumgehung habe ich mein System umgestaltet. Statt von innen Tomcat, haben Sie es als eigenständige Anwendung mit Quarz-Batch-Job gemacht und das System läuft ordnungsgemäß. Sobald ich Zeit finde, herauszufinden, warum Tomcat nicht in der Lage ist, das richtige Zertifikat zu wählen, werde ich euch darauf aufbauen. Vielen Dank für Ihre Zeit ... mailen Sie mir, wenn Sie mehr Hilfe brauchen. Danke, Amarjeet – Amarjeet

Antwort

0

Als Problemumgehung habe ich mein System neu gestaltet. Statt von innen Tomcat, haben Sie es als eigenständige Anwendung mit Quarz-Batch-Job gemacht und das System läuft ordnungsgemäß. Sobald ich Zeit finde, herauszufinden, warum Tomcat nicht in der Lage ist, das richtige Zertifikat zu wählen, werde ich euch darauf aufbauen. Vielen Dank für Ihre Zeit ... mailen Sie mir, wenn Sie mehr Hilfe brauchen.
Danke,
Amarjeet