我需要创建一个基于Java的XML Web服务客户端,该客户端部署在IBM WAS服务器中,该服务器调用由外部系统托管的Web服务 . 这里应该有2路ssl认证机制 .

配置团队已经在客户端和Web服务应用程序服务器的质量环境中设置了以下内容:

在我的Web服务客户端所在的WAS服务器上:

trustStore中的

  • 服务器证书

密钥库中提供了

  • 客户端证书

在存在实际WebService的App服务器中:

keyStore中的

  • 服务器证书

信任库中提供了

  • 客户端证书

Coding: 我们使用WS提供程序提供的WSDL文件自动生成类 .

通常称为WS方法,就像没有2路ssl认证机制一样 .

problem: 我们在从WS Client调用Web服务方法时遇到连接异常 . 我们在使用2路ssl机制方面遇到了麻烦 .

Full StackTrace Image as requested:
enter image description here

假设:我们假设当通常从客户端完成Web服务调用时,双向SSL进程的整个 handshake process 发生 automatically .

Queries:

  • 我们的假设是否正确,整个握手过程在这里自动发生,尤其是客户发送证书?

  • 在调用Web服务方法以使客户端能够发送证书之前,我们是否需要在java的代码级别指定信任存储路径或KeyStore的任何细节?

  • 如果Qn 2为Yes,我们需要在调用客户端中的WS方法之前在一些引用链接中提到的代码中设置以下属性:

System.setProperty(“javax.net.ssl.keyStore”,“path / to / your / key”); System.setProperty(“javax.net.ssl.keyStorePassword”,“your-keystore-password”); System.setProperty( “javax.net.ssl.trustStore中”, “路径/到/你/信赖/密钥库”); System.setProperty(“javax.net.ssl.trustStorePassword”,“your-truststore-password”);

任何建议/建议都非常受欢迎,因为我们几天都坚持这一点 . 这是我们第一次开发需要双向SSL的Web服务 .