TLS记录层和握手层版本之间的区别是什么



他们在网上发布了一些关于它的帖子,但没有解释其中的差异和意义。可以看到客户端Hello数据包的记录层和握手协议版本为0x0301和0x0303。它们之间有什么区别?当其中一个显示1.0,另一个显示1.2时,正在使用哪个TLS版本?

TLS记录层版本是1.0,因为TLS版本是在客户端hello中提到的版本的基础上协商的。例如,如果客户端要求使用1.2并向服务器发送客户端hello,而服务器要求严格使用1.3,则TLS记录将永远不知道将协商哪个版本。因此,它使用1.0作为泛型。

RFC告诉你的是一样的:

TLS规范的早期版本在记录层版本号(TLSPlaintext.version(应该是什么在发送ClientHello时包含(即,在知道将采用协议的版本(。因此,TLS服务器符合本规范的必须接受任何值{03,XX}作为ClientHello的记录层版本号">

最新更新