5.2. Processing an Accept-Signature (处理 Accept-Signature)
5.2. Processing an Accept-Signature (处理 Accept-Signature)
Accept-Signature 字段的接收者按如下方式满足该头:
-
将字段值解析为 Dictionary.
-
对 Dictionary 的每个成员:
2.1. 键作为第 4.1 节规定的输出签名的标签.
2.2. 解析成员的值以获得被覆盖组成部分标识符集合.
2.3. 确定被覆盖组成部分适用于目标消息. 若否, 过程失败并返回错误.
2.4. 处理所请求参数, 例如签名算法与密钥材料. 若任何所请求参数无法满足或与目标消息认为适当的参数冲突, 过程失败并返回错误.
2.5. 选择并生成完成签名所需的任何附加参数.
2.6. 在目标消息上创建 HTTP 消息签名.
2.7. 创建
Signature-Input与Signature字段值, 并将其与标签关联. -
可选地创建任何附加的
Signature-Input与Signature字段值, 其标签在Accept-Signature字段中不存在且唯一. -
合并所有带标签的
Signature-Input与Signature字段值, 并将两个字段附加到目标消息.
通过此过程, 应用于目标消息的签名必须具有相同标签, 必须包含相同的被覆盖组成部分集合, 必须处理全部所请求参数, 且可以有附加参数.
Accept-Signature 字段的接收者可忽略任何不符合应用参数的签名请求.
目标消息可包含 Accept-Signature 字段未指定的附加签名. 例如, 为覆盖附加消息组成部分, 签名者可创建第二条签名, 其除所请求签名的签名输出外还包含附加组成部分.