4.1. Signature-Input HTTP フィールド (The Signature-Input HTTP Field)
4.1. Signature-Input HTTP フィールド (The Signature-Input HTTP Field)
Signature-Input フィールドは, HTTP メッセージ内のコンポーネントから生成された 1 つ以上のメッセージ署名のメタデータを含む辞書型構造化フィールド (Dictionary Structured Field) である ([STRUCTURED-FIELDS] の 3.2 節で定義). 各メンバーは 1 つのメッセージ署名を記述する. メンバーのキーは, HTTP メッセージ内でメッセージ署名を一意に識別するラベルである. メンバーの値は, ラベルで識別されるすべての署名メタデータパラメータを含む, 被覆コンポーネントの順序付き集合を Inner List として直列化したものである:
NOTE: RFC 8792 に従う '' による行折り返し
Signature-Input: sig1=("@method" "@target-uri" "@authority"
"content-digest" "cache-control");
created=1618884475;keyid="test-key-rsa-pss"
署名の検証を容易にするため, Signature-Input フィールドの値は 2.3 節で定義する署名ベースの @signature-params 値の生成に用いたものと同一の直列化値を含めなければならない (MUST). 構造化フィールドの値では, リストの順序とパラメータの順序を保持する必要があることに注意すること.
署名者は, 署名者によるメッセージ内容の処理後に署名するために, Signature-Input フィールドをトレーラ (trailer) として含めてもよい (MAY). ただし, [HTTP] に従い中間者がトレーラを破棄してよいため, 署名が意図せずメッセージから取り除かれるのを避けるには, Signature-Input フィールドはヘッダフィールドとしてのみ含めることが推奨される (RECOMMENDED).
1 つの HTTP メッセージに複数の Signature-Input フィールドを含めてもよい (MAY). 署名ラベルはすべてのフィールド値にわたって一意でなければならない (MUST).