基于SSL的轴和使用PKCS#12密钥库的双向身份验证
问题描述:
我有成功导入到浏览器中的PKCS#12密钥库,用于访问需要双向SSL身份验证的服务器。可以完美地到达任何https网址。基于SSL的轴和使用PKCS#12密钥库的双向身份验证
但是,在使用Axis 1.4时,我无法访问同一服务器中的URL,也无法访问同一主机中的URL。给定轴Faultstring让人:
javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径建设失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到有效的认证路径要求的目标
我的javax.net.ssl.{keyStore,keyStorePassword,keyStoreType}
属性似乎设置罚款。
我该如何解决这个问题?
答
如果您只想让客户端能够调用SSL Web服务并忽略SSL证书错误,那么我遇到了一个更简单的答案。 (当然,你会不这样做在生产,但可以肯定的是很方便的进行测试!)
只是把这个语句调用任何Web服务之前:
System.setProperty("axis.socketSecureFactory",
"org.apache.axis.components.net.SunFakeTrustSocketFactory");
,我发现这个在the Axis wiki 。