Aller au contenu
ecdsa.com

JWS (JSON Web Signature)

Le format JOSE de la RFC 7515 pour un contenu signé ou protégé par MAC avec des paramètres décrits en JSON, sérialisé de façon compacte sous la forme header.payload.signature (en-tête, charge utile, signature) ou en JSON avec plusieurs signatures.
Autres graphiesJSON Web SignatureRFC 7515compact JWS

L’entrée de signature est ASCII(base64url(protected header) ‖ "." ‖ base64url(payload)), et la signature ou le MAC est calculé sur exactement ces octets : tout nouvel encodage de l’en-tête ou de la charge utile l’invalide donc. La sérialisation compacte (§3.1, §7.1) porte une seule signature et un en-tête protégé ; la sérialisation JSON (§7.2) autorise plusieurs signatures et des membres d’en-tête non protégés.

Paramètres d’en-tête (§4.1) : alg (obligatoire), kid, typ, cty, crit, et les membres porteurs de clés jwk, jku, x5c, x5u, x5t et x5t#S256, auxquels il ne faut jamais se fier seuls pour choisir une clé de vérification. La RFC 7797 ajoute b64: false pour les charges utiles non encodées, utilisées par les signatures détachées comme l’en-tête x-jws-signature d’Open Banking.

Les JWT que vous rencontrez sont presque toujours des JWS ; les requêtes ACME, les preuves DPoP, les signatures d’émetteur SD-JWT et de nombreuses signatures de webhooks sont aussi des JWS.

Normes et références

Tous les termes