Aller au contenu principal

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 :

  1. Le tableau « crit » contient une valeur « http://example.invalid/UNDEFINED »
  2. Ce paramètre d'en-tête est présent dans l'en-tête JOSE
  3. 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.