SSLv3和TLS(v1,v1.1或v1.2)可以一起工作

问题描述:

我试图用不同的协议设置客户端和服务器,并在它们之间发送一些字节。SSLv3和TLS(v1,v1.1或v1.2)可以一起工作

看来他们工作得很好。有人可以给我一些关于当他们意识到差异时发生的事情的链接吗?像协议谈判一样?自降级?

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

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

TLS specification有这样说的Server Hello消息server_version

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也应该给你进一步的解释。