1. Introduction
Cette spécification enregistre les algorithmes cryptographiques et les identifiants à utiliser avec les spécifications JSON Web Signature (JWS) [JWS], JSON Web Encryption (JWE) [JWE] et JSON Web Key (JWK) [JWK]. Elle définit plusieurs registres IANA pour ces identifiants. Toutes ces spécifications utilisent des structures de données basées sur JSON [RFC7159]. Cette spécification décrit également les sémantiques et opérations spécifiques à ces algorithmes et types de clés.
L'enregistrement des algorithmes et identifiants ici, plutôt que dans les spécifications JWS, JWE et JWK, vise à permettre qu'ils restent inchangés face aux changements dans l'ensemble des algorithmes Required (requis), Recommended (recommandés), Optional (optionnels) et Deprecated (obsolètes) au fil du temps. Cela permet également des modifications aux spécifications JWS, JWE et JWK sans nécessiter la mise à jour de ce document.
Les noms définis ici sont tous courts car un objectif central est de rendre les représentations résultantes aussi compactes que possible.
1.1 Notational Conventions (Conventions de notation)
Les mots-clés "MUST" (doit), "MUST NOT" (ne doit pas), "REQUIRED" (requis), "SHALL" (doit), "SHALL NOT" (ne doit pas), "SHOULD" (devrait), "SHOULD NOT" (ne devrait pas), "RECOMMENDED" (recommandé), "NOT RECOMMENDED" (non recommandé), "MAY" (peut) et "OPTIONAL" (optionnel) dans ce document doivent être interprétés comme décrit dans "Mots-clés à utiliser dans les RFC pour indiquer les niveaux d'exigence" [RFC2119]. Cette interprétation ne doit s'appliquer que lorsque ces termes apparaissent en lettres majuscules.
BASE64URL(OCTETS) désigne l'encodage base64url des OCTETS, conformément à la section 2 de [JWS].
UTF8(STRING) désigne les octets de la représentation UTF-8 [RFC3629] de STRING, où STRING est une séquence de zéro ou plusieurs caractères Unicode [UNICODE].
ASCII(STRING) désigne les octets de la représentation ASCII [RFC20] de STRING, où STRING est une séquence de zéro ou plusieurs caractères ASCII.
La concaténation de deux valeurs A et B est notée A || B.