如果服务器不支持所使用的协议,JSSE 是否会实施回退?
Does JSSE implement a fallback if the server does not support the used protocol?
我只是在 java 中收集一些关于 SSL/TSL
的信息,因为我们正在使用 netty,甚至不知道我们当前使用的是什么 TLS
协议。我们的应用程序 运行s 在 Java7 上,因此默认情况下 SSLSocket
将 运行 和 TLS1
并且甚至不会激活 SSL3
。我现在知道了。
假设我的客户端 运行 在 Java8 上(默认使用 TLS1.2),目标服务器仅支持 TLS1.1
,现在 JSSE
使用自动回退路由与 TLS1.1
协商连接?还是我必须专门实施这个?如果是,我必须在哪里做?
我在 JSSE
文档中找不到明确的观点。
is JSSE now using an automatic fallback ...?
不必。
TLS 客户端发送它可以支持的最高版本的 TLS 协议。服务器回复它要使用的 TLS 版本,该版本是服务器支持的最高版本和客户端发送的版本中较低的一个。如果客户端支持该版本,则握手继续。所以实际上是服务器做后备。
这都是在RFC 2246中指定的。这不是 Java.
特有的
我只是在 java 中收集一些关于 SSL/TSL
的信息,因为我们正在使用 netty,甚至不知道我们当前使用的是什么 TLS
协议。我们的应用程序 运行s 在 Java7 上,因此默认情况下 SSLSocket
将 运行 和 TLS1
并且甚至不会激活 SSL3
。我现在知道了。
假设我的客户端 运行 在 Java8 上(默认使用 TLS1.2),目标服务器仅支持 TLS1.1
,现在 JSSE
使用自动回退路由与 TLS1.1
协商连接?还是我必须专门实施这个?如果是,我必须在哪里做?
我在 JSSE
文档中找不到明确的观点。
is JSSE now using an automatic fallback ...?
不必。
TLS 客户端发送它可以支持的最高版本的 TLS 协议。服务器回复它要使用的 TLS 版本,该版本是服务器支持的最高版本和客户端发送的版本中较低的一个。如果客户端支持该版本,则握手继续。所以实际上是服务器做后备。
这都是在RFC 2246中指定的。这不是 Java.
特有的