Wie programmiere ich den SSLContext eines JAX-WS-Clients?

Ich arbeite auf einem Server in einer verteilten Anwendung, die Browser-Clients hat und auch an der Server-zu-Server-Kommunikation mit einem Drittanbieter teilnimmt. Mein Server verfügt über ein CA-signiertes Zertifikat, mit dem meine Clients eine Verbindung über TLS (SSL) unter Verwendung von HTTP / S und XMPP (sicher) herstellen können. Das funktioniert alles gut.

Jetzt muss ich mit JAX-WS über HTTPS / SSL eine sichere Verbindung zu einem Drittanbieter-Server herstellen. In dieser Kommunikation fungiert mein Server als Client in der JAX-WS-Interaktion, und ich habe ein vom Drittanbieter signiertes Client-Zertifikat.

Ich habe versucht, einen neuen Keystore über die Standardsystemkonfiguration hinzuzufügen (-Djavax.net.ssl.keyStore=xyz), aber meine anderen Komponenten sind eindeutig davon betroffen. Obwohl meine anderen Komponenten dedizierte Parameter für ihre SSL-Konfiguration verwenden (my.xmpp.keystore=xxx, my.xmpp.truststore=xxy, ...), scheint es, dass sie am Ende die globale verwendenSSLContext. (Der Konfigurations-Namespacemy.xmpp. schien eine Trennung anzuzeigen, aber das ist nicht der Fall)

Ich habe auch versucht, mein Client-Zertifikat in meinen ursprünglichen Keystore aufzunehmen, aber meine anderen Komponenten scheinen es auch nicht zu mögen.

Ich denke, dass meine einzige verbleibende Option darin besteht, sich programmgesteuert in die HTTPS-Konfiguration von JAX-WS einzuhängen, um den Keystore und den Truststore für die JAX-WS-Clientinteraktion einzurichten.

Irgendwelche Ideen / Hinweise, wie das geht? Alle Informationen, die ich finde, verwenden entweder diejavax.net.ssl.keyStore Methode oder setzt die globaleSSLContext das -ich denke- wird im selben confilc enden. Am nächsten an etwas Hilfreichem war dieser alte Fehlerbericht, der die Funktion anfordert, die ich benötige:Unterstützung für die Übergabe eines SSLContexts an die JAX-WS-Client-Laufzeit hinzufügen

Irgendwelche Aufnahmen?

Antworten auf die Frage(9)

Ihre Antwort auf die Frage