在HTTPS Apache CFX上使用用户证书身份验证不起作用的肥皂

时间:2017-07-13 22:14:26

标签: java tomcat ssl soap

我们在Tomcat上运行服务器。该服务器连接到多个第三方服务。

我开发并测试了与SOAP服务的连接。此服务要求客户​​端使用证书进行识别。第一个版本设置属性:

  • javax.net.ssl.trustStore中
  • javax.net.ssl.trustStorePassword中
  • javax.net.ssl.keyStore
  • javax.net.ssl.keyStorePassword
  • javax.net.ssl.keyStoreType

我的代码在单独测试时有效,但是当我的代码集成到我们的服务器时,它搞砸了与其他第三方服务器的连接。寻找这个问题的解决方案,我找到了 Apache CFX 。我注意到这个库有一个API来设置证书而无需更改全局属性。我们不使用Spring,我想通过代码进行配置,但我得到了例外。

代码

components.month = Int(data[2])

异常

data

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。

我使用此网址作为参考:http://www.programcreek.com/java-api-examples/index.php?source_dir=support-examples-master/jaxws/cxfSsl.war/WEB-INF/classes/com/redhat/gss/jaxws/TestClient.java

  1. 我更改了soap服务对象的创建方式。这样我就可以获得HTTPConduit并对其进行配置,而不必创建许多辅助对象(可能我在这里犯了一些错误)。
  2. 我创建了密钥库而不是配置证书。