Zum Hauptinhalt springen

Appendix E. Negative Test Case for "crit" Header Parameter (Negativer Testfall für den "crit"-Header-Parameter)

Implementierer können den folgenden Testfall verwenden, um zu überprüfen, dass sie den "crit"-Header-Parameter korrekt handhaben. Das folgende JWS sollte abgelehnt werden, da es einen kritischen, nicht definierten Header-Parameter enthält:

Beispiel für JWS Protected Header:

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

Dieses JWS sollte abgelehnt werden, weil:

  1. Das "crit"-Array den Wert "http://example.invalid/UNDEFINED" enthält
  2. Dieser Header-Parameter ist im JOSE-Header vorhanden
  3. Aber die Implementierung versteht diesen Erweiterungs-Header-Parameter nicht

Gemäß den Bestimmungen in Abschnitt 4.1.11 ist das JWS ungültig, wenn der Empfänger einen der in der "crit"-Liste aufgeführten Erweiterungs-Header-Parameter nicht versteht und nicht unterstützt.

Zweck des Tests

Dieser Testfall stellt sicher, dass die Implementierung:

  • Den "crit"-Header-Parameter korrekt analysiert
  • Alle im "crit"-Array aufgelisteten Header-Parameter validiert
  • JWS ablehnt, die unbekannte kritische Header-Parameter enthalten
  • Die in Abschnitt 4.1.11 spezifizierten Sicherheitsanforderungen implementiert

Die Implementierung muss (MUST) dieses JWS ablehnen, um eine korrekte Handhabung kritischer Header-Parameter sicherzustellen und potenzielle Sicherheitsschwachstellen zu verhindern.