メインコンテンツまでスキップ

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で指定されたセキュリティ要件を実装する

実装は、クリティカルヘッダーパラメータを正しく処理し、潜在的なセキュリティ脆弱性を防ぐために、このJWSを拒否しなければなりません (MUST)。