Jak programowo ustawić SSLContext klienta JAX-WS?

Pracuję na serwerze w aplikacji rozproszonej, która ma klientów przeglądarki, a także uczestniczy w komunikacji serwer-serwer z firmą zewnętrzną. Mój serwer ma certyfikat podpisany przez CA, aby umożliwić moim klientom łączenie się za pomocą komunikacji TLS (SSL) przy użyciu HTTP / S i XMPP (bezpieczne). To działa dobrze.

Teraz muszę bezpiecznie połączyć się z serwerem innej firmy za pomocą JAX-WS przez HTTPS / SSL. W tej komunikacji mój serwer działa jako klient w interakcji JAX-WS i mam certyfikat klienta podpisany przez stronę trzecią.

Próbowałem dodać nowy magazyn kluczy za pomocą standardowej konfiguracji systemu (-Djavax.net.ssl.keyStore=xyz), ale moje inne komponenty są wyraźnie dotknięte tym. Chociaż moje inne komponenty używają dedykowanych parametrów do konfiguracji SSL (my.xmpp.keystore=xxx, my.xmpp.truststore=xxy, ...), wygląda na to, że korzystają z globalnegoSSLContext. (Przestrzeń nazw konfiguracjimy.xmpp. zdawało się wskazywać na separację, ale tak nie jest)

Próbowałem też dodać mój certyfikat klienta do mojego oryginalnego magazynu kluczy, ale - inne - moje komponenty też się nie podobają.

Myślę, że moją jedyną opcją jest programowe połączenie z konfiguracją HTTPS JAX-WS, aby skonfigurować magazyn kluczy i magazyn zaufanych certyfikatów dla interakcji klienta JAX-WS.

Jakieś pomysły / wskazówki, jak to zrobić? Wszystkie znalezione informacje używająjavax.net.ssl.keyStore metoda lub ustawia globalnySSLContext że - zgaduję - skończy się w tym samym confilc. Najbliższe coś, co udało mi się uzyskać, to ten stary raport o błędzie, który wymaga funkcji, której potrzebuję:Dodaj obsługę przekazywania kontekstu SSLC do środowiska wykonawczego klienta JAX-WS

Jakieś ma?

questionAnswers(9)

yourAnswerToTheQuestion