Java 使用CXF客户端调用安全的CA https SOAP服务

Java 使用CXF客户端调用安全的CA https SOAP服务,java,ssl,Java,Ssl,我试图调用在安全服务器上发布的SOAP服务(配置了SSL和CA的Apache/Tomcat) 该服务需要一个.P12(PKCS#12)证书来处理授权 我使用SOAPUI进行的测试运行良好(调用了服务并返回了正确的结果) 我想我需要处理KeyTool来在我的密钥库中加载证书,但我无法正确地计算它 除此之外,SOAPUI运行在JVM之上,不需要在JRE密钥库中加载任何证书(因为它只需要指向P12证书),所以我认为有一种方法可以在调用时按需“加载”证书 经过一些调查,似乎有一些CXF配置要做() 代码

我试图调用在安全服务器上发布的SOAP服务(配置了SSL和CA的Apache/Tomcat)

该服务需要一个.P12(PKCS#12)证书来处理授权

我使用SOAPUI进行的测试运行良好(调用了服务并返回了正确的结果)

我想我需要处理KeyTool来在我的密钥库中加载证书,但我无法正确地计算它

除此之外,SOAPUI运行在JVM之上,不需要在JRE密钥库中加载任何证书(因为它只需要指向P12证书),所以我认为有一种方法可以在调用时按需“加载”证书

经过一些调查,似乎有一些CXF配置要做()

代码

虚拟机参数

-Djavax.net.ssl.keyStoreType=pkcs12
-Djavax.net.ssl.keyStore=c:/job/CDBXXX-XXXXX.p12
-Djavax.net.ssl.keyStorePassword=******
日志(更多):


Thank的

javax.net.ssl.SSLHandshakeException表示您有以下问题之一:

  • 客户端密钥未由服务器信任存储中的某个CA签名
  • 客户端密钥由中间CA签名,而服务器信任存储中没有完整的CA链
  • main, SEND TLSv1 ALERT:  fatal, description = certificate_unknown
    main, WRITE: TLSv1 Alert, length = 2
    main, called closeSocket()
    main, handling exception: javax.net.ssl.SSLHandshakeException:     
       sun.security.validator.ValidatorException: PKIX path building failed:      
       sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid     
       certification path to requested target
    main, called close()
    main, called closeInternal(true)