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.
Fügen Sie die vollständige Fehlerverfolgung hinzu, um die Details zu sehen – pedrofb
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
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