资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 面试经验 > 面试问答

如何在Java中设置SSL协议版本?我怎么知道哪一个呢?javax.net.ssl.SSLException:收到致命警报:protocol_version

面试问答 更新时间: 发布时间: 计算机考试归档 最新发布

如何在Java中设置SSL协议版本?我怎么知道哪一个呢?javax.net.ssl.SSLException:收到致命警报:protocol_version

我从调试中看到Java进行TLS1.2握手,而不是更常见的SSLv23握手:

main, WRITE: TLSv1.2 Handshake, length = 225[Raw write]: length = 2300000: 16 03 03 00         ^^^^^ - TLS1.2 (SSL3.3)

服务器本身只能执行TLS1.0,并且无法仅宣布此旧版本。我对Java不熟悉,但是您需要将协议版本设置为TLSv1或SSLv23才能与该服务器通信。

以下代码将仅使用Apache HttpClient设置TLSv1:

HttpClientBuilder  .create()  .setSslcontext(SSLContexts.custom().useProtocol("TLSv1").build())  .build()  .execute(new HttpGet("https://hubic.com"));

编辑以包括评论中的问题:

如果您说服务器“无法仅发布此旧版本”,是否表示服务器配置错误?在这种情况下,为什么Firefox&Chromium没有任何问题?

如果客户端在ClientHello中宣告TLS1.2,而服务器只能执行TLS1.0,则它应宣告,即以TLS1.0答复。如果TLS1.0不够好,则客户端可以关闭连接,或者继续使用TLS1.0。但是,在这种情况下,服务器只是告诉客户端它不喜欢此版本,并关闭了连接。Firefox和其他公司则发布SSLv23声明,在此过程中进行TLS1.0握手,同时还声明其支持的最佳协议版本。这通常适用于从SSL3.0开始的旧服务器,也适用于新服务器。

您可以使用最新的Perl / IO :: Socket :: SSL和此脚本检查服务器的行为。

$ perl analyze-ssl.pl hubic.com-- hubic.com port 443 * maximum SSL version  : TLSv1 (SSLv23) * supported SSL versions with handshake used and preferred cipher(s):   * handshake protocols ciphers   * SSLv23    TLSv1     AES256-SHA   * TLSv1_2   FAILED: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number   * TLSv1_1   FAILED: SSL connect attempt failed error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number   * TLSv1     TLSv1     AES256-SHA   * SSLv3     FAILED: SSL connect attempt failed because of handshake problems error:1409442E:SSL routines:SSL3_READ_BYTES:tlsv1 alert protocol version

在这里,您可以看到主机支持SSLv23和TLSv1握手,但不支持使用的TLSv1_2握手。



转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/402075.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【如何在Java中设置SSL协议版本?我怎么知道哪一个呢?javax.net.ssl.SSLException:收到致命警报:protocol_version】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2