java.security.cert.CertificateException:
问题描述:
在IBM RSA中创建Web服务客户端时,出现异常。“Exception:javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:No subject alternative DNS名称匹配“java.security.cert.CertificateException:
请告知如何解决此问题。
谢谢,
答
您需要将SSL证书从服务器安装到客户机。 注意如果SSL证书selft签名,你需要禁用这样的SSL检查:
static {
javax.net.ssl.HttpsURLConnection.setDefaultHostnameVerifier(new javax.net.ssl.HostnameVerifier() {
public boolean verify(String hostname, javax.net.ssl.SSLSession sslSession) {
//for localhost or same LAN
if (hostname.equals("localhost") || hostname.startsWith("192.168")) {
return true;
}
return false;
}
});
}
注:SSL证书,CN财产,必须在服务器名或域名相匹配。 (CN = my-domain.com)适用于my-domain.com上发布的服务器。
如果您使用的是为其他服务器名称或域设计的某个证书,则需要在操作系统主机文件中声明该匹配项。