我正在尝试使用相互身份验证(客户端和服务器上的证书),但我收到此错误: javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到所请求目标的有效证书路径
然后我找到了我尝试用作messageSender的这个类: HttpsUrlConnectionMessageSender
但我无法弄清楚如何设置我使用javax.net.ssl属性配置的密钥库和信任库。 如果可能的话,我想在spring xml文件中进行此设置,以便动态配置。
答案 0 :(得分:0)
结帐此处。
您只需生成证书并放置在JRE库路径中,无需使用任何邮件发件人。
证书生成器https://code.google.com/p/java-use-examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java
然后,如果您遇到此异常java.security.cert.CertificateException
然后只需覆盖验证者
static {
HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
public boolean verify(String hostname, SSLSession session) {
// HOST_ADDRESS = Endpoint host address
if (hostname.equals(HOST_ADDRESS))
return true;
return false;
}
});
}