如何以编程方式设置 JAX-WS 客户机的 SSLContext?
我正在分布式应用程序中处理一台服务器,该应用程序具有浏览器客户端,并且还参与与第三方的服务器到服务器通信。我的服务器具有 CA 签名证书,允许我的客户端使用 TLS (SSL) 通信进行连接,并使用 HTTP/S 和 XMPP(安全)。这一切都很好。
现在,我需要通过 HTTPS/SSL 使用 JAX-WS 安全地连接到第三方服务器。在此通信中,我的服务器在 JAX-WS 交互中充当客户机,并且我有一个由第三方签名的客户机证书。
我尝试通过标准系统配置()添加新的密钥库,但我的其他组件显然受此影响。尽管我的其他组件正在使用专用参数进行SSL配置(),但似乎它们最终使用全局.(配置命名空间似乎表示分离,但事实并非如此)-Djavax.net.ssl.keyStore=xyz
my.xmpp.keystore=xxx, my.xmpp.truststore=xxy, ...
SSLContext
my.xmpp.
我还尝试将我的客户端证书添加到我的原始密钥库中,但是 - 再次 - 我的其他组件似乎也不喜欢它。
我认为我剩下的唯一选择是以编程方式挂接到 JAX-WS HTTPS 配置中,以便为客户机 JAX-WS 交互设置密钥库和信任库。
关于如何做到这一点的任何想法/指示?我找到的所有信息要么使用该方法,要么正在设置全局 - 我猜 - 将在同一个confilc中结束。我最接近有用的东西是这个旧的错误报告,它请求我需要的功能:添加对将SSLContext传递到JAX-WS客户机运行时的支持javax.net.ssl.keyStore
SSLContext
有什么需要吗?