在IBM RSA中创建Web服务客户端时,我遇到异常.. “异常:javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:没有主题备用DNS名称匹配”
请告知如何解决此问题。
谢谢,
答案 0 :(得分:0)
您需要将SSL证书从服务器安装到客户端计算机。 请注意,如果SSL证书是自签名的,则需要禁用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上发布的服务器。
如果您使用的是为其他服务器名称或域设计的某些证书,则需要在操作系统主机文件中声明匹配。