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
- 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.
- 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 ?
- 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.
- Comment gérer les jetons invalides dans les applications web et mobiles ? Bien que les JWT soient essentiels pour une communication sécurisée entre clients et serveurs, la gestion de leur cycle de vie et la garantie de leur sécurité peuvent s'avérer complexes. Dans cet article, nous explorerons les meilleures pratiques pour gérer et invalider les jetons d'accès, notamment via la révocation et la rotation, et comment les implémenter avec OAuth2 et OpenID Connect.
- Comment invalider un Access Token JWT ? Bien que les JWT soient essentiels pour une communication sécurisée entre les clients et les serveurs, la gestion de leur cycle de vie et la garantie de leur sécurité peuvent être complexes. Dans cet article, nous explorerons les meilleures pratiques pour invalider les jetons d'accès, y compris la révocation et la rotation des jetons, et comment implémenter ces mécanismes dans OAuth2 et OpenID Connect.