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?