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:
- Das "crit"-Array den Wert "http://example.invalid/UNDEFINED" enthält
- Dieser Header-Parameter ist im JOSE-Header vorhanden
- 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.