我正在尝试调用在安全服务器上发布的 SOAP 服务(配置了 SSL 和 CA 的 Apache/Tomcat)
该服务需要一个 .P12 (PKCS#12) 证书来处理授权。
我使用SOAPUI的测试运行良好(服务调用并返回了正确的结果)
我想我要处理 KeyTool 以在我的密钥库中加载证书,但我无法正确理解它。
除此之外,SOAPUI运行在 JVM 之上,不需要在 JRE keyStore 中加载任何证书(因为它只需要指向 P12 证书),所以我认为有一种“加载”证书的方法在调用时按要求?
经过一些调查,似乎有一些 CXF 配置要做(文档)
代码: github仓库
虚拟机参数:
-Djavax.net.ssl.keyStoreType=pkcs12
-Djavax.net.ssl.keyStore=c:/job/CDBXXX-XXXXX.p12
-Djavax.net.ssl.keyStorePassword=******
日志(更多在这里):
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)
谢谢