Skip to main content

Appendix E. Negative Test Case for "crit" Header Parameter ("crit" Header Parameter 的负面测试用例)

实现者可以使用以下测试用例来验证他们正确处理 "crit" (critical, 关键) Header Parameter. 以下 JWS 应该被拒绝, 因为它包含一个未定义的关键头部参数:

示例 JWS Protected Header:

{"alg":"HS256","crit":["http://example.invalid/UNDEFINED"],"http://example.invalid/UNDEFINED":true}

此 JWS 应该被拒绝, 因为:

  1. "crit" 数组包含一个值 "http://example.invalid/UNDEFINED"
  2. 这个头部参数在 JOSE Header 中存在
  3. 但是实现不理解这个扩展头部参数

根据第 4.1.11 节的规定, 如果接收方不理解和支持 "crit" 列表中的任何扩展 Header Parameters, 则 JWS 无效.

测试目的

此测试用例确保实现:

  • 正确解析 "crit" Header Parameter
  • 验证 "crit" 数组中列出的所有头部参数
  • 拒绝包含未知关键头部参数的 JWS
  • 实施第 4.1.11 节中指定的安全要求

实现必须 (MUST) 拒绝此 JWS, 以确保正确处理关键头部参数并防止潜在的安全漏洞.