Security 在同一TCP连接中使用不同的TLS记录版本
TLS记录看起来像:Security 在同一TCP连接中使用不同的TLS记录版本,security,ssl,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(如in)对此有何评论 谢谢试图在一个连接中
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(如in)对此有何评论
谢谢试图在一个连接中使用两个版本的协议在语义上是不合理的。TLS“记录版本”不仅仅是关于记录本身,而是关于许多记录的语法,比如它们的顺序或长度,以及错误的期望可能会让你陷入不知道下一条记录从哪里开始的困境
TCP连接很便宜。如果您需要协商一个新连接,最好这样做,而不是试图将一个方形的销钉塞进一个圆孔。有两个版本,一个在记录头中,另一个是通过ClientHello/ServerHello消息协商的ssl版本。这些版本可能不同(例如,参见TLS 1.0 RFC 2246中的e段“与SSL的向后兼容性”)。我的问题是关于记录头中的第一个版本0。在“与SSL的向后兼容性”部分,它再次解释了您应该如何始终协商您的客户理解的规范的最高版本,不要提及同时使用两个版本-因为同时使用两个版本是胡说八道。@Yahia这是答案/线索吗?:)的确,我通过RFC搜索过,但毫无价值。也许我错过了什么。这并不是说我打算故意混合记录版本,只是我的应用程序在客户端和服务器之间,我想知道会发生什么。