3.2. SessionTicket TLS 拡張
SessionTicket TLS 拡張は [RFC4366] に基づいています。チケットの形式は、セッション固有の状態情報を運ぶために使用される不透明 (opaque) な構造です。この拡張は、ClientHello および ServerHello で送信できます。
クライアントがセッションの再開に使用したいチケットを所持している場合、クライアントはそのチケットを ClientHello 内の SessionTicket 拡張に含めます。クライアントがチケットを持っておらず、NewSessionTicket ハンドシェイクメッセージでチケットを受け取る準備がある場合、クライアントは長さゼロのチケットを SessionTicket 拡張に含めなければなりません (MUST)。クライアントが NewSessionTicket ハンドシェイクメッセージでチケットを受け取る準備がない場合、サーバーから他の何らかの手段で受け取った空でないチケットを送信する場合を除き、クライアントは SessionTicket 拡張を含めてはなりません (MUST NOT)。
サーバーは、3.3 節で説明されている NewSessionTicket ハンドシェイクメッセージを使用して新しいセッションチケットを送信することをクライアントに示すために、長さゼロの SessionTicket 拡張を使用します。サーバーは、NewSessionTicket ハンドシェイクメッセージを使用して新しいチケットをクライアントに発行したい場合、ServerHello でこの拡張を送信しなければなりません (MUST)。サーバーは、ClientHello でこの拡張を受け取らない場合、この拡張を送信してはなりません (MUST NOT)。
サーバーがチケットの検証に失敗した場合、サーバーは完全ハンドシェイクの実行にフォールバックします。チケットがサーバーに受け入れられたがハンドシェイクが失敗した場合、クライアントはチケットを削除すべきです (SHOULD)。
SessionTicket 拡張には番号 35 が割り当てられています。SessionTicket 拡張の extension_data フィールドにはチケットが含まれます。