Как программно установить SSLContext клиента JAX-WS?

Я работаю на сервере в распределенном приложении, которое имеет браузерные клиенты, а также участвует в межсерверной связи с третьей стороной. У моего сервера есть сертификат, подписанный ЦС, который позволяет моим клиентам подключаться по протоколу TLS (SSL) с использованием HTTP / S и XMPP (безопасный). Это все работает нормально.

Теперь мне нужно безопасно подключиться к стороннему серверу, используя JAX-WS через HTTPS / SSL. В этом сообщении мой сервер действует как клиент в взаимодействии JAX-WS, а я - клиентский сертификат, подписанный третьей стороной.

Я попытался добавить новое хранилище ключей через стандартную конфигурацию системы (-Djavax.net.ssl.keyStore=xyz) но другие мои компоненты явно затронуты этим. Хотя мои другие компоненты используют выделенные параметры для их конфигурации SSL (my.xmpp.keystore=xxx, my.xmpp.truststore=xxy, ...), кажется, что они в конечном итоге используют глобальныйSSLContext, (Пространство имен конфигурацииmy.xmpp. казалось, указывает на разделение, но это не так)

Я также попытался добавить свой клиентский сертификат в исходное хранилище ключей, но, возможно, другим моим компонентам он тоже не понравился.

Я думаю, что мой единственный оставшийся вариант - программно подключиться к конфигурации HTTPS JAX-WS для настройки хранилища ключей и доверенных сертификатов для взаимодействия клиента JAX-WS.

Любые идеи / указатели о том, как это сделать? Вся информация, которую я нахожу, либо используетjavax.net.ssl.keyStore метод или установка глобальногоSSLContext что, я думаю, все закончится тем же конфликтом. Самым близким, что я получил к чему-то полезному, был этот старый отчет об ошибках, который запрашивает нужную мне функцию:Добавить поддержку для передачи SSLContext в среду выполнения клиента JAX-WS

Любой берет?

Ответы на вопрос(9)

Ваш ответ на вопрос