基于SSL的轴和使用PKCS#12密钥库的双向身份验证

Cam*_*pka 1 java ssl axis keystore pkcs#12

我有PKCS#12密钥库,我已成功导入我的浏览器,用于访问需要双向SSL身份验证的服务器.完美地到达那里的任何https URL.

但是,我无法访问同一服务器中的URL,并且在使用Axis 1.4时无法访问同一主机中的URL.给定的Axis faultString是:

javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径

我的javax.net.ssl.{keyStore,keyStorePassword,keyStoreType}房产似乎设置得很好.

我该如何解决这个问题?

Mar*_*uer 6

如果你想要的只是你的客户能够调用SSL Web服务并忽略SSL证书错误,我遇到了一个更简单的答案.(当然你不会在生产中这样做!,但它确实对测试很方便.)

只需在调用任何Web服务之前放置此语句:

System.setProperty("axis.socketSecureFactory",
    "org.apache.axis.components.net.SunFakeTrustSocketFactory");
Run Code Online (Sandbox Code Playgroud)

我在Axis维基上找到了这个.