Ich arbeite an einer Anwendung, die einen Webservice von Drittanbietern über HTTPS aufruft. Also muss ich dieses Zertifikat dem Truststore meiner Anwendung hinzufügen. Ich kann 3 Lösungen sehen zu meinem Problem zu beheben:Best Practice, um Drittanbieter-SSL-Zertifikat in Java zu behandeln
- dieses Zertifikat in den
$JAVA_HOME/jre/lib/security/cacerts
- ein benutzerdefiniertes-Vertrauen erstellen und starten meine JVM mit
-Djavax.net.ssl.trustStore= ...
- programmatisch diesen Trusts laden, wenn meine Anwendung starten
Welche Lösung empfiehlst/entmutige ich zur Verwendung?
"Wenn Sie ein anderes SSL-Zertifikat hinzufügen müssen. Sie müssen Ihren Code ändern" Dies ist nicht korrekt, Sie können den Schlüsselspeicher über die Eigenschaftendatei oder einen anderen Mechanismus festlegen. "Die zweite ist die beste Wahl", keine ist richtig, hängt von der Komplexität Ihrer App und vom Anwendungstyp, Standalone, Webapp ... usw. ab, vielleicht benötigen Sie die Verwendung mehrerer Credential-Stores, um einen separaten SSL-Kontext zu verwalten Individuelle Zielinteraktion, die jeden Kontext in einem neuen SSLContext-Objekt einkapselt. – vzamanillo