gpt4 book ai didi

java - 日志显示 TLSv1 而不是 SSLv3

转载 作者:行者123 更新时间:2023-12-02 11:15:52 26 4
gpt4 key购买 nike

我已使用 -Djavax.net.debug=all 选项在应用程序中启用日志。已编写的代码应该使用 SSLv3 协议(protocol),但在我检查时在日志中显示为::

*** ClientHello,TLSv1

*** ServerHello,TLSv1

据我从阅读中了解到,客户端和服务器使用 TLSv1 进行握手,但由于我在启动套接字时在代码中使用了 SSLv3,理想情况下它应该打印 SSLv3 而不是 TLSv1。

下面是我使用的代码片段:

SSLContextBuilder builder = new SSLContextBuilder();
builder.useProtocol("SSLv3");

SSLContext sslContext = builder.build();

有人可以澄清同样的原因吗,或者还有其他我错过的事情吗?补充一下,我使用的是 Java 7。

最佳答案

服务器很可能不支持 SSLv3(出于安全考虑,现在推荐配置),因此该库使用支持最少的 TLS 版本。

UPD:似乎 hello 格式没有说明实际上将使用什么协议(protocol)。有来自 Java docs 的东西:

Currently, the SSLv3, TLSv1, and TLSv1.1 protocols allow you to send SSLv3, TLSv1, and TLSv1.1 hellos encapsulated in an SSLv2 format hello. For more details on the reasons for allowing this compatibility in these protocols, see Appendix E in the appropriate RFCs (previously listed).

Note that some SSL/TLS servers do not support the v2 hello format and require that client hellos conform to the SSLv3 or TLSv1 client hello formats.

The SSLv2Hello option controls the SSLv2 encapsulation. If SSLv2Hello is disabled on the client, then all outgoing messages will conform to the SSLv3/TLSv1 client hello format. If SSLv2Hello is disabled on the server, then all incoming messages must conform to the SSLv3/TLSv1 client hello format.

关于java - 日志显示 TLSv1 而不是 SSLv3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50288123/

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