绑定提供者未设置SSL上下文

时间:2019-09-09 09:22:59

标签: java web-services jax-ws

我正在尝试对Web服务执行客户端身份验证。我需要在运行时动态提供自定义SSL上下文。经过大量搜索之后,我找到了一种创建自定义SSL上下文的方法,并使用下面的代码行,我要求我的服务使用此SSL上下文。

SSLSocketFactoryGenerator s = new SSLSocketFactoryGenerator("alias",keystore_location,truststore_location);
((BindingProvider) service).getRequestContext().put("com.sun.xml.internal.ws.transport.https.client.SSLSocketFactory", s.getSSLSocketFactory());

但是,我仍然收到SSL_HANDSHAKE_FAILED_ERROR。在调试(-Djavax.net.debug=all之后,我发现根本没有使用提到的密钥库。

但是当我使用相同的SSL上下文,例如SSLContext.setDefault(mycontext);时 一切正常,因此创建上下文的代码很好,但是将该上下文与服务绑定无法正常工作

还有其他方法可以将该SSL上下文动态附加到运行时吗?

0 个答案:

没有答案