Java SNI无法识别的名称

Java SNI无法识别的名称,java,ssl,https,apache-httpclient-4.x,sni,Java,Ssl,Https,Apache Httpclient 4.x,Sni,我使用ApacheHttpClient(4.5.2)在Java 8上运行,出现以下错误: javax.net.ssl.sslprotoclexception:握手警报:无法识别\u名称 我知道我可以通过以下方式解决这个问题: System.setProperty(“jsse.enableSNIExtension”、“false”) 但如果我这样做了,其他https站点就不能再连接了 从这两个站点,我只能连接到一个站点,这取决于我是否启用SNI,但我没有找到一个允许我成功连接到这两个站点的设置:

我使用ApacheHttpClient(4.5.2)在Java 8上运行,出现以下错误:

javax.net.ssl.sslprotoclexception:握手警报:无法识别\u名称

我知道我可以通过以下方式解决这个问题:

System.setProperty(“jsse.enableSNIExtension”、“false”)

但如果我这样做了,其他https站点就不能再连接了

从这两个站点,我只能连接到一个站点,这取决于我是否启用SNI,但我没有找到一个允许我成功连接到这两个站点的设置:


是否有人可以复制该证书或已解决此问题?

引发此异常,因为服务器返回的证书与您请求的FQDN不匹配。在客户端禁用SNI不是适当的解决方案,相反,您必须禁用主机名验证,如中所述


引发此异常是因为服务器返回的证书与您请求的FQDN不匹配。在客户端禁用SNI不是适当的解决方案,相反,您必须禁用主机名验证,如中所述

SSLContext sslContext = SSLContexts.createSystemDefault();
SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
    sslContext,
    NoopHostnameVerifier.INSTANCE);