SSL 握手警报:升级到 Java 1.7.0 后出现“Unrecognized_Name”错误
升级到 Java 1.7 后,用户遇到了建立 HTTPS 连接时出现“unrecognized_name”错误。此问题源于 Java 7 中引入的服务器名称指示 (SNI) 支持,默认情况下启用。
原因
某些配置错误的服务器会发出“无法识别的名称” SSL 握手期间发出警告。不幸的是,Java 是少数无法忽略此警告的客户端之一。
解决方法
要解决此问题,用户可以使用以下方法禁用 SNI 支持:
java -Djsse.enableSNIExtension=false yourClass
或者,他们可以在 Java 中设置属性代码:
System.setProperty("jsse.enableSNIExtension", "false");
注意:必须在执行任何 SSL 操作之前设置此属性,因为之后更改它不会对 SNI 状态产生影响。
SNI 混合解决方案保留
如果完全禁用 SNI 不可行,请考虑以下混合方法:
以上是为什么升级到 Java 1.7 后会收到'Unrecognized_Name”SSL 握手警报?的详细内容。更多信息请关注PHP中文网其他相关文章!