8. QUIC 特定调整
QUIC 对 TLS 握手做了若干特定调整. 应用层协议通过 TLS 的 ALPN 机制协商, 并且协商结果影响 QUIC 连接上承载的应用语义. 如果 ALPN 协商失败或应用协议不被接受, 连接必须失败.
QUIC 定义了 quic_transport_parameters TLS extension, 用于在 ClientHello 和 EncryptedExtensions 中携带 QUIC transport parameters. 这些参数在握手完成后被 TLS transcript 认证, 因而可以被 QUIC 安全使用. 端点必须验证接收到的 transport parameters 是否符合 [QUIC-TRANSPORT] 的要求.
QUIC 不使用 TLS 的 EndOfEarlyData 消息. 当客户端停止发送 0-RTT packet 并开始发送 Handshake 或 1-RTT packet 时, 其语义已经足以表示 early data 结束.
QUIC 也禁止 TLS middlebox compatibility mode. TLS 1.3 中的 ChangeCipherSpec 对 QUIC 没有意义, 且 QUIC 没有 TLS 记录层. 因此端点不得发送或依赖这些兼容性消息.