首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么Wireshark在这里显示版本TLS 1.2而不是TLS 1.3?

为什么Wireshark在这里显示版本TLS 1.2而不是TLS 1.3?
EN

Network Engineering用户
提问于 2018-12-31 01:17:40
回答 1查看 12.6K关注 0票数 13

我正在使用TLS1.3通过java客户机访问TLS1.3测试服务器"https://tls13.pinterjann.is“。如html响应所示,一切看起来都很好:

我不明白的是:为什么Wireshark在概述协议TLSv1.3中显示,而在详细版本TLS 1.2中显示呢?

Wireshark只是显示错误的版本,还是实际使用了TLS 1.2?

提前感谢您的支持。

EN

回答 1

Network Engineering用户

发布于 2018-12-31 05:16:30

对不起,由于混淆,我遗漏了确切的TLS 1.3语义:例如,在Client中,字段" version“必须包含固定值0x0303 (TLS 1.2),而首选版本包含在扩展”支持的版本“中。

来自RFC 8446 (TLS 1.3规范):

代码语言:javascript
运行
复制
struct {
      ProtocolVersion legacy_version = 0x0303;    /* TLS v1.2 */
      Random random;
      opaque legacy_session_id<0..32>;
      CipherSuite cipher_suites<2..2^16-2>;
      opaque legacy_compression_methods<1..2^8-1>;
      Extension extensions<8..2^16-1>;
  } ClientHello;

legacy_version:在以前版本的TLS中,此字段用于版本协商,表示客户端支持的最高版本号。经验表明,许多服务器没有正确地实现版本协商,从而导致“版本不容忍”,即服务器拒绝版本号高于其支持的其他可接受的ClientHello。在TLS1.3中,客户端在"supported_versions“扩展(第4.2.1节)中指示其版本首选项,而legacy_version字段必须设置为0x0303,这是TLS1.2的版本号。TLS 1.3 ClientHellos被识别为具有0x0303的legacy_version和以0x0304作为其中所指示的最高版本的supported_versions扩展。(有关向后兼容性的详细信息,请参阅附录D。)

这与Wireshark展示的内容一致:

票数 19
EN
页面原文内容由Network Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://networkengineering.stackexchange.com/questions/55752

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档