SSLv3和TLS(v1,v1.1或v1.2)可以协同工作吗?

时间:2014-09-23 14:58:46

标签: java ssl https protocols sslv3

我尝试使用不同的协议设置客户端和服务器,并在它们之间发送一些字节。

看起来他们工作得很好。任何人都可以给我一些关于他们意识到差异时内部发生的事情的链接吗?协议谈判的东西?自降级?

2 个答案:

答案 0 :(得分:1)

一旦确定了协议版本,它们就无法进行互操作,但是有一种机制可以在握手开始时协商版本。本质上,客户端在启动握手时通告它支持的最高版本,并且服务器返回其支持的最高版本,该版本小于或等于客户端支持的版本。当然,服务器也可以根据需要禁用这些较低版本(在这种情况下,连接不会被建立)。

TLS specification可以对server_version消息中的Server Hello进行说明:

   server_version
      This field will contain the lower of that suggested by the client
      in the client hello and the highest supported by the server.  For
      this version of the specification, the version is 3.3.  (See
      Appendix E for details about backward compatibility.)

Appendix E.1还应该给你进一步的解释。

答案 1 :(得分:-1)

看起来它们不是完全可互操作的,但如果需要,according to this MDSN article TLS将回退到SSLv3。 HTH