跳到主要内容

3. 协议 (Protocol)

本规范描述一种以 ticket 形式向客户端分发 encrypted session-state information 的机制, 以及一种将该 ticket 提交回服务器的机制. ticket 由 TLS server 创建并发送给 TLS client. TLS client 将 ticket 提交给 TLS server 以恢复 session. 本规范的 implementations 预期支持这两种机制.

3.1. 概述 (Overview)

客户端通过在 ClientHello message 中包含 SessionTicket TLS extension 来指示它支持该机制. 如果客户端尚未拥有该服务器的 ticket, 该 extension 将为空. 服务器发送空的 SessionTicket extension, 以指示它将使用 NewSessionTicket handshake message 发送新的 session ticket.

3.2. SessionTicket TLS 扩展 (SessionTicket TLS Extension)

SessionTicket TLS extension 基于 [RFC4366]. ticket 的格式是一个 opaque structure, 用于携带 session-specific state information.

3.3. NewSessionTicket 握手消息 (NewSessionTicket Handshake Message)

该 message 由服务器在 TLS handshake 期间, ChangeCipherSpec message 之前发送. 如果服务器在 ServerHello 中包含了 SessionTicket extension, 则该 message 必须被发送.

3.4. 与 TLS Session ID 的交互 (Interaction with TLS Session ID)

如果服务器计划发出 NewSessionTicket, 它 应该在 ServerHello 中包含空的 Session ID. 如果服务器包含非空 session ID, 则表示它打算使用 stateful session resume.