PK Systems PK Systems
Encodeurs et décodeurs

Signeur JWT

Construisez et signez des JSON Web Tokens avec HS256/HS384/HS512. Tout en local, sans envoi.

Signeur JWT

HS* utilise un secret partagé ; RS256 et ES256 utilisent une paire de clés asymétriques.

Le champ alg se synchronise automatiquement avec le sélecteur ci-dessus.

Claims standard : sub, iss, aud, iat, exp, nbf, jti.

En production, utilisez 256 bits ou plus d'entropie aléatoire. Ne réutilisez pas vos mots de passe.

JWT signé


            
        

Qu'est-ce qu'un JWT ?

Un JSON Web Token (JWT) est un moyen compact et compatible avec les URL pour transporter des claims entre deux parties. Il se compose de trois parties encodées en Base64URL et reliées par des points : un en-tête qui nomme l'algorithme, une charge utile composée de claims JSON arbitraires, et une signature calculée sur header.payload avec une clé. Le destinataire recalcule la signature et rejette le jeton si elle ne correspond pas. Les JWT sont populaires pour l'authentification sans état, car les serveurs n'ont pas besoin de mémoriser les sessions — chaque requête transporte sa propre preuve. Le revers, c'est que vous ne pouvez pas révoquer un jeton une fois émis sans liste de révocation supplémentaire, et tout secret ou clé divulgué compromet tous les jetons signés avec lui. Cet outil fonctionne entièrement sur votre appareil — vos secrets, clés de signature et jetons ne quittent jamais la page, ne transitent jamais par nos serveurs, et ne sont ni stockés, ni indexés, ni journalisés, ni partagés. Cette garantie de confidentialité est essentielle, car la fuite d'une seule frappe d'un secret de signature JWT peut compromettre tous les comptes utilisateurs pour lesquels il émet des jetons.

Comment utiliser le signeur / vérificateur

Choisissez l'algorithme adapté à votre environnement, collez l'en-tête et la charge utile (ou utilisez les valeurs par défaut comme modèle), puis cliquez sur Signer. Pour RS256 et ES256, vous pouvez générer une nouvelle paire de clés sur la page ; pour HS256, vous fournissez un secret partagé. Pour vérifier, basculez en mode vérification, collez le jeton et le secret ou la clé publique correspondants, puis cliquez sur Vérifier. La charge utile décodée apparaît dans la zone de verdict en cas de succès.

Conseils pratiques et pièges à éviter

Définissez toujours exp (expiration) sur les jetons de production. N'acceptez jamais l'algorithme annoncé dans l'en-tête sans liste blanche — la classique attaque alg=none exploite les serveurs qui font confiance à l'en-tête. Faites tourner périodiquement les clés de signature, stockez les clés privées dans un HSM ou un gestionnaire de secrets, et traitez les secrets HMAC comme des mots de passe. Pour les navigateurs et les applications mobiles, privilégiez les JWT à courte durée de vie associés à des refresh tokens stockés dans des cookies HttpOnly.

Algorithmes pris en charge

Alg Famille Cas d'usage
HS256HMAC + SHA-256Services internes qui partagent un seul secret. Rapide, simple.
HS384HMAC + SHA-384Services internes qui partagent un seul secret. Rapide, simple.
HS512HMAC + SHA-512Services internes qui partagent un seul secret. Rapide, simple.
RS256RSA + SHA-256API publiques distribuant la clé publique pour la vérification.
ES256ECDSA P-256 + SHA-256Comme RS256, mais avec des signatures plus courtes et des courbes elliptiques modernes.

Questions fréquentes

Quelque chose est-il envoyé à votre serveur ?
Non. La signature et la vérification se font entièrement sur votre appareil grâce à la cryptographie intégrée de votre navigateur. Vos secrets, clés et jetons ne quittent jamais la page, ne transitent jamais par nos serveurs, et ne sont ni stockés, ni indexés, ni journalisés, ni partagés.
Quelle est la différence entre HS256 et RS256 ?
HS256 utilise un seul secret partagé pour la signature et la vérification — quiconque peut vérifier peut aussi signer. RS256 utilise une paire de clés RSA : la clé privée signe, la clé publique vérifie, donc le vérificateur n'a pas besoin du matériel de signature.
Puis-je l'utiliser pour des clés de production ?
Vous pouvez générer ici des clés de développement, mais les clés privées de production doivent rester dans votre KMS ou HSM. Coller une vraie clé de production dans une page web est un événement de sécurité significatif.
Pourquoi mon jeton ne se vérifie-t-il pas ?
Causes courantes : algorithme erroné dans le menu déroulant par rapport à l'en-tête du jeton, secret/clé publique non concordants, jeton expiré (exp) ou pas encore valide (nbf), charge utile altérée, ou copier-coller ayant introduit des espaces.
Quel encodage utilise la charge utile ?
JWT sérialise la charge utile JSON en UTF-8, puis l'encode en Base64URL. Les clés JSON sont sensibles à la casse. Les chaînes à l'intérieur de la charge utile doivent être en UTF-8.
Les JWT sont-ils chiffrés ?
Les JWT standard sont signés mais pas chiffrés — n'importe qui peut décoder la charge utile. Utilisez JWE si vous avez besoin de confidentialité, ou transportez les données sensibles en dehors du jeton.