gpt4 book ai didi

ssl - 在一次握手消息中发送 `Encrypted Extension` 和 `Server Finished`。它在 TLS1.3 中是强制性的吗?

转载 作者:太空宇宙 更新时间:2023-11-03 12:59:55 24 4
gpt4 key购买 nike

根据 RFC 8446 (TLSv1.3) [https://www.rfc-editor.org/rfc/rfc8446]

Encrypted ExtensionFinished 是两种不同的握手消息。

但在 RFC 8448(TLS 1.3 的握手跟踪示例)[https://www.rfc-editor.org/rfc/rfc8448]

在此跟踪文档的所有示例中,加密扩展(消息类型 0x08)和Server Finished(消息类型 0x14)消息被连接起来一起发送。

请参阅 RFC 8446 的第 23 和 24 页。

payload (80 octets):  **08** 00 00 28 00 26 00 0a 00 14 00 12 00 1d 00
17 00 18 00 19 01 00 01 01 01 02 01 03 01 04 00 1c 00 02 40 01
00 00 00 00 00 2a 00 00 **14** 00 00 20 48 d3 e0 e1 b3 d9 07 c6 ac
ff 14 5e 16 09 03 88 c7 7b 05 c0 50 b6 34 ab 1a 88 bb d0 dd 1a
34 b2

我知道将两个握手消息(如果它们由一个实体一个接一个地立即发送)一起添加会提高性能,RFC 8446 提供了这一规定。

但这真的是任何服务器实现都必须同时发送 Encrypted ExtensionServer Finished 消息吗?

或者服务器和客户端应该支持这两种实现,即

a) 分别发送Encrypted ExtensionServer Finished消息。

b) 在一个握手消息中一起发送Encrypted ExtensionServer Finished 消息。

最佳答案

TLS 通过 TCP 发送。 TCP是一个字节流,没有消息的概念,因此也没有“消息一起发送”的概念。在应用程序级别或来自 TLS 堆栈内的两个 send 可能会在同一个 TCP 数据包中结束,就像一个 send 可能分布在多个 TCP 数据包中一样。

换句话说:由于 TLS 底层的 TCP 层只是一个字节流,可以以不受上层控制的任意方式打包,因此不可能遵循在同一个 TCP 中发送多个 TLS 消息的强制性要求数据包。

关于ssl - 在一次握手消息中发送 `Encrypted Extension` 和 `Server Finished`。它在 TLS1.3 中是强制性的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59225395/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com