gpt4 book ai didi

Java SNI 无法识别的名称

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:50 25 4
gpt4 key购买 nike

我在使用 Apache HttpClient (4.5.2) 的 Java 8 上遇到此错误:

javax.net.ssl.SSLProtocolException:握手警报:unrecognized_name

我知道我可以使用:

System.setProperty("jsse.enableSNIExtension", "false");

但如果我这样做,其他 https 站点将无法再连接。

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

任何人都可以重现或解决这个问题吗?

最佳答案

出现此异常是因为服务器返回的证书与您请求的 FQDN 不匹配。在客户端禁用 SNI 不是合适的解决方案,您必须按照 HttpClient doc 中的说明禁用主机名验证。

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

关于Java SNI 无法识别的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46574852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com