java.security.cert.CertificateException:

时间:2017-09-01 13:13:46

标签: java web-services webservices-client

在IBM RSA中创建Web服务客户端时,我遇到异常.. “异常:javax.net.ssl.SSLHandshakeException:java.security.cert.CertificateException:没有主题备用DNS名称匹配”

请告知如何解决此问题。

谢谢,

1 个答案:

答案 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上发布的服务器。

如果您使用的是为其他服务器名称或域设计的某些证书​​,则需要在操作系统主机文件中声明匹配。