Appendix E. Negative Test Case for "crit" Header Parameter (Cas de test négatif pour le paramètre d'en-tête « crit »)
Les implémenteurs peuvent utiliser le cas de test suivant pour vérifier qu'ils gèrent correctement le paramètre d'en-tête « crit » (critical, critique). Le JWS suivant devrait être rejeté car il contient un paramètre d'en-tête critique non défini :
Exemple de JWS Protected Header :
{"alg":"HS256","crit":["http://example.invalid/UNDEFINED"],"http://example.invalid/UNDEFINED":true}
Ce JWS devrait être rejeté car :
- Le tableau « crit » contient une valeur « http://example.invalid/UNDEFINED »
- Ce paramètre d'en-tête est présent dans l'en-tête JOSE
- Mais l'implémentation ne comprend pas ce paramètre d'en-tête d'extension
Selon les dispositions de la section 4.1.11, si le destinataire ne comprend pas et ne prend pas en charge l'un des paramètres d'en-tête d'extension répertoriés dans la liste « crit », le JWS est invalide.
Objectif du test
Ce cas de test garantit que l'implémentation :
- Analyse correctement le paramètre d'en-tête « crit »
- Valide tous les paramètres d'en-tête répertoriés dans le tableau « crit »
- Rejette les JWS contenant des paramètres d'en-tête critiques inconnus
- Implémente les exigences de sécurité spécifiées dans la section 4.1.11
L'implémentation doit (MUST) rejeter ce JWS pour garantir une gestion correcte des paramètres d'en-tête critiques et prévenir les vulnérabilités de sécurité potentielles.