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 应该被拒绝, 因为:
- "crit" 数组包含一个值 "http://example.invalid/UNDEFINED"
- 这个头部参数在 JOSE Header 中存在
- 但是实现不理解这个扩展头部参数
根据第 4.1.11 节的规定, 如果接收方不理解和支持 "crit" 列表中的任何扩展 Header Parameters, 则 JWS 无效.
测试目的
此测试用例确保实现:
- 正确解析 "crit" Header Parameter
- 验证 "crit" 数组中列出的所有头部参数
- 拒绝包含未知关键头部参数的 JWS
- 实施第 4.1.11 节中指定的安全要求
实现必须 (MUST) 拒绝此 JWS, 以确保正确处理关键头部参数并防止潜在的安全漏洞.