Générateur de clé secrète JWT
Générez des clés secrètes cryptographiquement sécurisées pour la signature JWT HS256, HS384 et HS512.
À propos des clés secrètes HMAC JWT
Les algorithmes JWT basés sur HMAC (HS256, HS384, HS512) utilisent une clé secrète partagée pour signer et vérifier les tokens. Le suffixe numérique indique la taille du hash SHA utilisé : 256, 384 ou 512 bits.
Exigences de longueur de clé
RFC 7518 §3.2 Selon la RFC 7518 §3.2, la clé doit être au moins aussi longue que la sortie du hash :
- HS256 — minimum 256 bits
- HS384 — minimum 384 bits
- HS512 — minimum 512 bits
Notes de sécurité
- Les clés sont générées entièrement dans votre navigateur via la Web Crypto API — rien n'est envoyé à un serveur.
- Stockez le secret dans un gestionnaire de secrets (ex. AWS Secrets Manager, HashiCorp Vault) — jamais dans le code source ni dans des fichiers d'environnement versionnés.
- Les algorithmes HMAC utilisent une clé symétrique : toute partie possédant le secret peut signer et vérifier les tokens. Pour une signature asymétrique, utilisez RS256 ou ES256.
Foire aux questions
- Qu'est-ce qu'une clé secrète JWT ?
- Une clé secrète JWT est utilisée par les algorithmes HMAC (HS256, HS384, HS512) pour signer et vérifier les tokens. Toute partie disposant du secret peut émettre des tokens valides, elle doit donc rester confidentielle.
- Quelle longueur doit avoir un secret JWT ?
- La RFC 7518 exige que la clé soit au moins aussi longue que la sortie du hash : 256 bits pour HS256, 384 bits pour HS384 et 512 bits pour HS512. Des clés plus longues n'apportent pas de sécurité supplémentaire au-delà de la taille du hash de l'algorithme.
- Est-il sûr de générer une clé ici ?
- Oui. Les clés sont générées entièrement dans votre navigateur via la Web Crypto API (crypto.getRandomValues). Rien n'est transmis à un serveur.
- Quel est le format de la sortie ?
- Les clés sont encodées en base64url — l'encodage standard pour les données binaires liées aux JWT. Vous pouvez utiliser la valeur directement comme secret dans des bibliothèques comme jsonwebtoken ou jose.
- Quand utiliser HMAC plutôt que RSA ou ECDSA ?
- Utilisez HMAC (HS256/HS384/HS512) lorsqu'un seul service émet et vérifie les tokens. Utilisez des algorithmes asymétriques (RS256, ES256) lorsque plusieurs services doivent vérifier les tokens mais qu'un seul doit les signer.
En savoir plus sur les JWT
- Valider les JWT provenant de plusieurs issuers Valider des JWT provenant de plusieurs issuers introduit des modes d'échec qui n'existent pas avec un seul issuer. Découvrez le bon pattern et les attaques qui résultent d'une mauvaise implémentation.
- Comment générer une clé secrète JWT pour les algorithmes HMAC Apprenez à générer une clé secrète JWT sécurisée pour les algorithmes HMAC (HS256, HS384, HS512) avec OpenSSL, Python, Node.js ou un générateur en ligne.
- Algorithmes de signature JWT : lequel choisir ? Choisir le bon algorithme de signature JWT est essentiel pour garantir la sécurité de votre application. Dans cet article, nous abordons les différents algorithmes disponibles et comment choisir le bon.
- JWT ou Opaque Token : Quel est le meilleur choix pour le M2M ? Les JWT ou les Opaque Tokens peuvent tous deux servir de mécanismes d’authentification pour les communications Machine to Machine (M2M). Mais quel est le meilleur choix entre chaque solution ?
- Comment vérifier un JWT ? Valider l'authenticité des JWT (JSON Web Tokens) est essentiel. Dans cet article, nous explorons l'approche systématique que les développeurs devraient adopter pour les vérifier.
- Générer des paires de clés RSA avec OpenSSL pour signer des JWT Ce guide vous accompagne étape par étape pour générer une paire de clés RSA avec OpenSSL pour signer des JWT.