Outils

Générateur de paires de clés RSA, ECDSA et Ed25519

Générez dans votre navigateur des paires de clés RSA 2048–4096, ECDSA P-256/P-384 ou Ed25519, au format PEM et en clés OpenSSH.

S’exécute dans le navigateurHachage et chiffrement30,8 k
Gratuit

Résultat

Le résultat apparaîtra ici.

Il arrive qu’il vous faille une paire de clés tout de suite — pour signer des JWT de test, configurer un point de terminaison TLS de préproduction ou donner à une tâche de CI sa propre clé de déploiement SSH — alors que la machine devant vous n’a pas OpenSSL. Cette page la crée avec le WebCrypto du navigateur, la même implémentation que celle qu’il utilise pour TLS : la clé privée naît sur votre appareil et n’existe nulle part ailleurs. Vous obtenez la clé privée en PEM PKCS#8 (ou en fichier de clé privée OpenSSH), la clé publique en PEM SPKI et la ligne de clé publique OpenSSH pour authorized_keys. L’équivalent en ligne de commande est OpenSSL (openssl/openssl, 30k+ étoiles, Apache-2.0), qui lit chaque fichier PEM produit par cet outil.

Comment ça marche

  • Les clés proviennent de crypto.subtle.generateKey, avec l’exposant public 65537 pour RSA, les courbes du NIST pour ECDSA, et Ed25519 lorsque le navigateur le prend en charge.
  • Les parties PEM utilisent les conteneurs standard — BEGIN PRIVATE KEY (PKCS#8) et BEGIN PUBLIC KEY (SPKI) — qu’OpenSSL, Node.js, Java, Go et toutes les bibliothèques JWT chargent sans conversion.
  • La ligne OpenSSH est encodée selon les RFC 4253, 5656 et 8709 et vérifiée octet par octet dans les tests contre des clés produites par ssh-keygen, avec la même empreinte SHA256 que celle qu’affiche ssh-keygen -l.
  • Le format privé OpenSSH écrit un fichier openssh-key-v1 non chiffré, le format que ssh-keygen produit par défaut depuis OpenSSH 7.8.

Où vont vos données

Nulle part. Cet outil s’exécute entièrement dans votre navigateur : le texte collé est traité par la page, jamais transmis à un serveur ni consigné dans un journal.

Cet outil manipule des clés et des identifiants : rien n’est enregistré sur une exécution, pas même dans votre propre historique.

Ce que ça coûte

Cet outil est gratuit, sans connexion ni points.

Questions fréquentes

Quel type de clé choisir ?
Pour SSH, Ed25519 enregistrée au format privé OpenSSH : clés courtes, rapides, aucun paramètre à mal choisir — et certaines versions de ssh, dont celle livrée avec macOS, ne savent pas charger une clé Ed25519 enregistrée en PKCS#8. Pour les certificats TLS et les JWT, ECDSA P-256 est la mieux prise en charge par les clients modernes. Choisissez RSA lorsqu’un système ancien ou strict l’exige ; la publication NIST SP 800-57 juge RSA 2048 bits suffisant jusqu’en 2030 et recommande 3072 bits au-delà. Une clé de 4096 bits peut demander quelques secondes de génération dans le navigateur.
La clé privée n’a pas de phrase de passe. Comment en ajouter une ?
Enregistrez le format OpenSSH et lancez ssh-keygen -p -f yourkey pour définir une phrase de passe sur place. Pour le fichier PKCS#8, openssl pkcs8 -topk8 -v2 aes-256-cbc -in key.pem -out key.enc.pem écrit une copie chiffrée. Après avoir enregistré une clé privée SSH, restreignez-la avec chmod 600, sinon ssh refusera de l’utiliser.
J’ai besoin de BEGIN RSA PRIVATE KEY, pas de BEGIN PRIVATE KEY.
C’est l’ancien conteneur PKCS#1, qui renferme les mêmes nombres. Avec OpenSSL 3, openssl rsa -in key.pem -traditional -out key.rsa.pem effectue la conversion. La plupart des logiciels actuels, OpenSSH compris, acceptent directement PKCS#8 : vérifiez d’abord que l’ancienne forme vous est vraiment nécessaire.
Comment vérifier que la paire de clés est saine ?
ssh-keygen -y -f yourkey affiche la clé publique dérivée d’une clé privée OpenSSH ; elle doit être identique à la ligne affichée sur cette page. Pour le PEM, openssl pkey -in key.pem -pubout affiche la clé publique SPKI, qui doit correspondre octet par octet au bloc PUBLIC KEY.
Ed25519 renvoie une erreur. Pourquoi ?
Ed25519 est arrivé dans WebCrypto après RSA et ECDSA, et un navigateur trop ancien peut ne pas le proposer. Les versions actuelles de Chrome, Edge, Firefox et Safari le prennent en charge. Mettre le navigateur à jour règle le problème ; à défaut, ECDSA P-256 est l’alternative la plus proche.

L’open source derrière

Cet outil est une implémentation autonome, sans bibliothèque tierce. openssl/openssl (Apache-2.0) fait le même travail sous forme de bibliothèque : pour l’intégrer à votre programme, commencez par là plutôt que d’appeler une page web.

openssl/openssl

Aussi appelé

  • générateur clé RSA
  • générer clé SSH en ligne
  • générateur clé Ed25519
  • générer paire de clés PEM
  • générateur clé ECDSA
  • clé publique OpenSSH