【问题标题】:java.security.cert.CertificateException:java.security.cert.CertificateException:
【发布时间】:2018-02-10 13:36:08
【问题描述】:

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

请告知如何解决此问题。

谢谢,

【问题讨论】:

    标签: java web-services webservices-client


    【解决方案1】:

    您需要将 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 上发布的服务器。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-31
      • 2014-04-02
      • 2023-03-14
      • 2015-06-11
      • 1970-01-01
      相关资源
      最近更新 更多