Como definir programaticamente o SSLContext de um cliente JAX-WS?

Estou trabalhando em um servidor em um aplicativo distribuído que possui clientes de navegador e também participa de comunicação entre servidores com um terceiro. Meu servidor tem um certificado assinado pela CA para permitir que meus clientes se conectem usando a comunicação TLS (SSL) usando HTTP / S e XMPP (seguro). Tudo está funcionando bem.

Agora, preciso conectar-me com segurança a um servidor de terceiros usando o JAX-WS em HTTPS / SSL. Nesta comunicação, meu servidor atua como cliente na interação JAX-WS e tenho um certificado de cliente assinado pela terceira parte.

Eu tentei adicionar um novo keystore através da configuração padrão do sistema (-Djavax.net.ssl.keyStore=xyz) mas meus outros componentes são claramente afetados por isso. Embora meus outros componentes estejam usando parâmetros dedicados para sua configuração SSL (my.xmpp.keystore=xxx, my.xmpp.truststore=xxy, ...), parece que eles acabam usando oSSLContext. (O namespace de configuraçãomy.xmpp. parecia indicar separação, mas não é o caso)

Eu também tentei adicionar meu certificado de cliente em meu keystore original, mas novamente meus outros componentes não parecem gostar disso também.

Eu acho que minha única opção é conectar-se à configuração HTTPS do JAX-WS programaticamente para configurar o keystore e o armazenamento confiável para a interação cliente JAX-WS.

Alguma idéia / ponteiros sobre como fazer isso? Todas as informações que eu encontrar ou usamjavax.net.ssl.keyStore método ou está definindo o globalSSLContext que, eu acho, acabará no mesmo confilc. O mais perto que cheguei de algo útil foi esse antigo relatório de bug que solicita o recurso de que preciso:Incluir suporte para passar um SSLContext para o tempo de execução do cliente JAX-WS

Alguma demora?

questionAnswers(9)

yourAnswerToTheQuestion