在同一TCP连接中使用不同的TLS记录版本

时间:2011-12-26 10:06:17

标签: security ssl

TLS记录如下:

struct {
   ContentType type;
   ProtocolVersion version;
   uint16 length;
   opaque fragment[TLSPlaintext.length];
} TLSPlaintext;

在同一TCP连接中使用不同的TLS记录版本是否合法 (例如ClientHello版本3.2(TLS 1.0)和ServerHello 3.2(TLS 1.1))?

什么RFC(例如在TLS 1.0 RFC 2246中)说了什么?

由于

1 个答案:

答案 0 :(得分:1)

尝试在一个连接中使用两个版本的协议在语义上是不合理的。 TLS“记录版本”不只是关于记录本身,而是许多记录的语法,例如它们的顺序或长度,以及错误的期望,可能会让你陷入不知道下一个地方的流中记录甚至开始。

TCP连接很便宜。如果你需要谈判一个新的连接,最好这样做,而不是试图强迫方形钉进入圆孔。