Handy Dev Tools
Outils en ligne simples pour les tâches du quotidien.

Aucun favori

    Encodeur/décodeur Base64
    Markdown vers HTML
    HTML vers Markdown
    Encodeur/Décodeur URL
    Convertisseur d'échappement Unicode
    Encodage/Décodage Unicode
    Formateur SQL
    Séparateur SQL
    Liaison de paramètres SQL
    Formateur JSON
    Formateur XML
    Formateur YAML
    Formateur GraphQL
    Conversion JSON vers YAML
    Conversion YAML vers JSON
    Conversion JSON vers TOML
    Conversion TOML vers JSON
    Encoder/Décoder entités HTML
    Conversion TOML vers YAML
    Conversion YAML vers TOML
    Conversion CSV vers SQL INSERT
    Générateur de tableaux Markdown
    Conversion JSON vers XML
    Conversion XML vers JSON
    Générateur UUID
    Générateur ULID
    Générateur de mots de passe
    Générateur de hash
    Générateur Lorem Ipsum
    Générateur d'URL d'images Lorem Picsum
    Générateur de données de test
    Générateur de codes QR
    Parseur et convertisseur de chemins S3
    Calculateur d'adresses IP
    Division de sous-réseaux
    Consolidation de sous-réseaux
    Générateur d'URLs signées CloudFront
    Générateur de chaînes de connexion RDS
    Convertisseur de coordonnées
    Convertisseur de formats géo
    Décodeur et parseur JWT
    Authentification Basic
    Analyseur de force des mots de passe
    Validateur de cartes bancaires
    PII Mask (masquage des données sensibles)
    Générateur de paire de clés RSA
    Conversion de casse
    Conversion romaji
    Convertisseur de chiffres romains
    Convertisseur de code phonétique
    Compteur de caractères
    Diff de texte
    Suppresseur de balises HTML
    Testeur d'expressions régulières
    Conversion de couleurs
    Lancer de dés
    Générateur Crontab
    Parseur Crontab
    Sélecteur d'emoji
    Convertisseur d'horodatage Unix
    Recherche de codes HTTP
    Recherche de ports
    Recherche de types MIME
    Convertisseur Base64 et fichiers
    Encoder/Décoder image Base64
    Parseur User-Agent
    Parseur URL
    Vérificateur OGP
    Générateur de messages de commit
    Calculateur Chmod
    Créateur de GIF de terminal
    .env Parser & Validator
Ctrl+K

Générateur de paire de clés RSA

Générez instantanément des paires de clés RSA publique/privée dans votre navigateur. Longueurs 512–8192 bits, format PEM (PKCS#8 / X.509). Compatible avec OpenSSL, SSH, JWT et SSL/TLS. Aucune connexion requise. Les clés ne quittent pas votre navigateur.

Default: 2048 bits

Generating key pair...

Validation de clé PEM

Collez une clé PEM publique ou privée pour vérifier si elle est valide.

Comment utiliser

À propos de cet outil

Utilisez ce générateur de paire de clés RSA lorsque vous avez besoin d'une clé publique et privée pour le développement, SSH, TLS ou des expérimentations JWT. Choisissez une taille de clé, par exemple 2048 bits pour des tests courants ou 4096 bits pour une paire plus robuste, puis exportez au format PEM adapté aux workflows de type OpenSSL (clé privée PKCS#8 et clé publique X.509). La génération s'effectue entièrement dans votre navigateur. Vos clés sont créées sur votre appareil et ne sont pas envoyées aux serveurs de Handy Dev Tools — un point important lorsque vous manipulez du matériel privé, même en dehors de la production. L'outil est gratuit et ne nécessite pas de compte. Considérez les clés générées comme des identifiants de développement, sauf si vous suivez votre propre processus sécurisé de gestion des clés. Privilégiez 2048 bits ou plus pour des tests réalistes, et gardez les clés privées hors du contrôle de version et des discussions partagées.

Comment utiliser

1. When you open the page, a key pair is automatically generated with the default (2048 bits), and the public and private keys are displayed. 2. To change key length: Enter a value that is a multiple of 8 between 512 and 8192 bits in the key length field, then click "Generate". 3. To generate a new key pair with the same key length: Click the "Regenerate" button. 4. Copy keys: Click the copy button in each key's display area to copy to the clipboard. 5. Download keys: Click the download button in each key's display area to download as a PEM file (public key: public_key.pem, private key: private_key.pem).

Options

Key length: Must be between 512 and 8192 bits and a multiple of 8. Default is 2048 bits. Use the up/down buttons in the number input to increment/decrement by 8. Invalid values (out of range or not a multiple of 8) show an error message and disable the "Generate" and "Regenerate" buttons.

Cas d'utilisation

• Generating key pairs for SSH connections (public key authentication setup) • Creating private keys for SSL/TLS certificates • Generating key pairs for JWT signing • Creating key pairs for encrypted communication • Temporary key pair generation for development and testing • Generating key pairs for code signing

Exemples de code

JavaScript (Web Crypto API)
Read Only
1// Generate key pair
2const keyPair = await window.crypto.subtle.generateKey(
3  {
4    name: 'RSA-OAEP',
5    modulusLength: 2048,
6    publicExponent: new Uint8Array([1, 0, 1]), // 65537
7    hash: 'SHA-256',
8  },
9  true, // extractable
10  ['encrypt', 'decrypt']
11);
Python (cryptography)
Read Only
1from cryptography.hazmat.primitives.asymmetric import rsa
2from cryptography.hazmat.primitives import serialization
3
4# Generate key pair
5private_key = rsa.generate_private_key(
6    public_exponent=65537,
7    key_size=2048
8)
9public_key = private_key.public_key()
10
11# Export in PEM format
12private_pem = private_key.private_bytes(
13    encoding=serialization.Encoding.PEM,
14    format=serialization.PrivateFormat.PKCS8,
15    encryption_algorithm=serialization.NoEncryption()
16)
17public_pem = public_key.public_bytes(
18    encoding=serialization.Encoding.PEM,
19    format=serialization.PublicFormat.SubjectPublicKeyInfo
20)
OpenSSL (bases)
Read Only
1# Generate 2048-bit RSA private key
2openssl genrsa -out private_key.pem 2048
3
4# Extract public key
5openssl rsa -in private_key.pem -pubout -out public_key.pem
OpenSSL et ssh-keygen (SSH, CSR, validation)
Read Only
1# Clé publique PEM → format OpenSSH une ligne (authorized_keys)
2ssh-keygen -f public_key.pem -i -m PKCS8 > openssh_public.pub
3
4# Vérifier la clé privée
5openssl rsa -in private_key.pem -check -noout
6
7# Créer une CSR (ajoutez -subj pour le mode non interactif)
8openssl req -new -key private_key.pem -out csr.pem
PHP (openssl_pkey_new)
Read Only
1$config = [
2    'private_key_bits' => 2048,
3    'private_key_type' => OPENSSL_KEYTYPE_RSA,
4];
5$key = openssl_pkey_new($config);
6openssl_pkey_export($key, $privatePem);
7$details = openssl_pkey_get_details($key);
8$publicPem = $details['key'];
9
10// openssl_pkey_export may emit PKCS#1 (BEGIN RSA PRIVATE KEY)
11// depending on OpenSSL/PHP. This tool exports PKCS#8 (BEGIN PRIVATE KEY).
Laravel (Passport / JWT)
Read Only
1// .env — store file paths, never paste PEM contents
2// JWT_ALGO=RS256
3// JWT_PRIVATE_KEY=file:///var/www/certs/private_key.pem
4// JWT_PUBLIC_KEY=file:///var/www/certs/public_key.pem
5
6// Laravel Passport
7// php artisan passport:keys
8// Or copy this tool's PEM to storage/oauth-private.key
9// and storage/oauth-public.key

How it works

RSA key pair generation prioritizes the Web Crypto API. If Web Crypto API is unavailable or PEM conversion fails, it falls back to the node-forge library. Keys are PEM: private keys in PKCS#8 (-----BEGIN PRIVATE KEY-----), public keys as X.509 SubjectPublicKeyInfo (-----BEGIN PUBLIC KEY-----). Larger key lengths take longer to generate, but a 2048-bit key pair typically completes within 5 seconds. All processing is done in the browser; keys are never sent to any server.

Vie privée et données

All key generation is done in the browser; generated public and private keys are never sent to any server. Keys exist only in browser memory and are not automatically saved. Private keys are sensitive — manage them carefully and clear them from memory (e.g., close the browser) when done. Do not paste private keys into FAQ answers, chat, or source code. For production, prefer generating keys in a secure, isolated environment when possible.

FAQ

Q: Qu'est-ce qu'une paire de clés RSA ?
A: Une paire de clés RSA est une clé publique et une clé privée correspondante, utilisées pour le chiffrement, la signature, SSH, TLS et JWT. La clé publique peut être partagée ; la clé privée doit rester secrète.
Q: Quelle taille de clé dois-je utiliser ?
A: Utilisez 2048 bits pour le développement et les tests courants. Privilégiez 4096 bits lorsque vous avez besoin d'une sécurité renforcée. Évitez les tailles très petites (par exemple 512) en dehors d'expérimentations sur des systèmes anciens.
Q: Mes clés sont-elles envoyées à un serveur ?
A: Non. La génération s'exécute dans votre navigateur. Les clés ne sont pas envoyées aux serveurs de Handy Dev Tools.
Q: Quels formats puis-je exporter ?
A: Une sortie PEM adaptée aux workflows de type OpenSSL (clé privée PKCS#8 / clé publique X.509). Copiez ou téléchargez pour un usage local.
Q: Est-ce gratuit ?
A: Oui. Aucune inscription requise.
Q: Comment générer la même paire de clés en PHP ?
A: Utilisez openssl_pkey_new() avec OPENSSL_KEYTYPE_RSA et une longueur telle que 2048, puis openssl_pkey_export() pour la clé privée et openssl_pkey_get_details() pour la clé publique. Voir l'exemple PHP sur cette page. openssl_pkey_export() peut émettre du PKCS#1 (BEGIN RSA PRIVATE KEY) selon OpenSSL/PHP ; cet outil exporte du PKCS#8 (BEGIN PRIVATE KEY). Les deux sont largement acceptés.
Q: Puis-je utiliser ces clés avec Laravel JWT ou Passport ?
A: Oui pour le développement. Cet outil exporte des clés privées PKCS#8 et publiques X.509 (SPKI), acceptées par Laravel Passport et les bibliothèques JWT RS256 (ex. tymon/jwt-auth). Pointez JWT_PRIVATE_KEY / JWT_PUBLIC_KEY vers les fichiers PEM, ou copiez-les vers storage/oauth-private.key et storage/oauth-public.key pour Passport. Ne commitez pas les clés privées.