4.1. The Signature-Input HTTP Field (`Signature-Input` HTTP 字段)
4.1. The Signature-Input HTTP Field (Signature-Input HTTP 字段)
Signature-Input 字段为 Dictionary Structured Field (定义见 [STRUCTURED-FIELDS] 第 3.2 节), 包含由 HTTP 消息内组成部分生成的一条或多条消息签名的元数据. 每个成员描述单条消息签名. 成员的键是在 HTTP 消息内唯一标识该消息签名的标签. 成员的值为被覆盖组成部分有序集合序列化为 Inner List, 含该标签标识的全部签名元数据参数:
NOTE: '' line wrapping per 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 值时所用的相同序列化值. 注意在 Structured Field 值中, 列表顺序与参数顺序必须保留.
签名者可将 Signature-Input 字段作为 trailer 纳入, 以便在签名者处理完消息内容后对消息签名. 然而, 由于按 [HTTP], 中间人允许丢弃 trailer, 建议将 Signature-Input 字段仅作为 header 字段纳入, 以避免签名被无意中从消息中剥离.
单个 HTTP 消息中可包含多个 Signature-Input 字段. 所有字段值中的签名标签必须唯一.