在IBM RSA中创建Web服务客户端时,我遇到了以下异常。“例外: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException:无主题替代DNS名称匹配"
请建议如何解决这个问题。
谢谢,
发布于 2017-09-01 13:31:34
您需要将来自服务器的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上的服务器。
如果您正在使用为其他服务器名称或域设计的证书,则需要在操作系统主机文件中声明匹配。
https://stackoverflow.com/questions/46001051
复制相似问题