【发布时间】:2018-02-10 13:36:08
【问题描述】:
在 IBM RSA 中创建 Web 服务客户端时,我遇到了异常。“异常:javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:没有主题替代 DNS 名称匹配”强>
请告知如何解决此问题。
谢谢,
【问题讨论】:
标签: java web-services webservices-client
在 IBM RSA 中创建 Web 服务客户端时,我遇到了异常。“异常:javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:没有主题替代 DNS 名称匹配”强>
请告知如何解决此问题。
谢谢,
【问题讨论】:
标签: java web-services webservices-client
您需要将 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 上发布的服务器。
如果您使用的是为其他服务器名称或域设计的证书,则需要在操作系统主机文件中声明匹配。
【讨论】: