Générateur de certificat SSL
Identité
Certificat
Clé privée (gardez secrète !)
Les certificats auto-signés ne sont pas approuvés par défaut par les navigateurs : utilisez-les uniquement pour le développement local, les tests ou les réseaux privés.
Générez un certificat auto-signé pour le développement local ou les tests internes, directement dans votre navigateur. Vous choisissez la taille de clé RSA (2048, 3072 ou 4096 bits), le Common Name, les Subject Alternative Names, la fenêtre de validité et quelques informations d’organisation. Le certificat et sa clé privée sont créés dans votre navigateur et ne sont jamais envoyés à notre serveur ; vous téléchargez les deux sous forme de fichiers PEM prêts pour Nginx ou Apache.
Comment fonctionne la génération du certificat
-
1
Choisissez la taille de clé RSA
2048 bits suffisent pour la plupart des tests ; 3072 ou 4096 offrent une clé plus grande au prix de la vitesse.
-
2
Saisissez le sujet et les SAN
Common Name plus chaque nom d'hôte ou IP que le certificat doit couvrir (les navigateurs modernes ignorent le CN au profit des SAN).
-
3
Générez dans le navigateur
Un certificat auto-signé est créé et signé avec la clé privée correspondante, entièrement en local dans votre navigateur.
-
4
Téléchargez le résultat
Un certificat encodé en PEM (`cert.pem`) et la clé privée en PEM (`key.pem`), prêts à installer.
Tout se passe dans votre navigateur
Ce générateur fonctionne entièrement dans votre navigateur. La paire de clés RSA est créée en local avec une bibliothèque cryptographique JavaScript, le certificat est signé sur votre appareil, et ni la clé privée ni le certificat ne sont jamais transmis à notre serveur. Traitez malgré tout la clé privée comme un secret : quiconque la détient peut usurper le certificat.
Ce que signifie auto-signé
Vous êtes à la fois l’émetteur et le sujet : le certificat est signé avec sa propre clé privée, aucune autorité de certification (CA) publique ne se porte donc garante. C’est pourquoi les navigateurs affichent un avertissement. Il convient aux tests, au développement local (localhost, dev.local) et aux serveurs internes où vous pouvez distribuer le certificat aux clients qui doivent lui faire confiance.
S’il vous faut un certificat auquel l’internet public fait confiance, cet outil n’est pas l’étape adéquate : il vous faut un certificat signé par une CA (par exemple Let’s Encrypt ou une CA payante), ce qui nécessite une demande de signature de certificat (CSR) et une validation de domaine que cet outil de navigateur ne réalise pas.
Ce que contient le certificat
| Champ | Notes |
|---|---|
| Sujet (CN, O, C) | Common Name, Organisation, Pays |
| Subject Alternative Names | Chaque domaine ou IP couvert (essentiel !) |
| Clé publique | RSA, dérivée de la clé privée générée |
| Émetteur | Identique au sujet, car auto-signé |
| Validité | Not Before / Not After (vos jours de validité) |
| Key Usage | digitalSignature, keyEncipherment |
| Extended Key Usage | serverAuth, clientAuth |
| Basic Constraints | CA:FALSE (un certificat feuille, pas une CA) |
Fichiers de sortie
key.pem, la clé privée (protégez-la, mode 0600)cert.pem, le certificat auto-signé (public, distribuable)
Pour Nginx
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/cert.pem;
ssl_certificate_key /etc/ssl/private/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
}
Pour Apache 2.4+
<VirtualHost *:443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/ssl/certs/cert.pem
SSLCertificateKeyFile /etc/ssl/private/key.pem
</VirtualHost>
Faire confiance au certificat sur vos propres machines
Pour faire taire l’avertissement du navigateur sur une machine que vous contrôlez, importez cert.pem dans le magasin de confiance de ce système ou de ce navigateur. Ne le faites que pour des certificats que vous avez générés vous-même, sur des appareils qui vous appartiennent. Des outils comme mkcert automatisent une CA locale pour plusieurs services ; ce générateur produit un seul certificat auto-signé à la fois.
Ce à quoi un certificat auto-signé ne convient pas
- Sites web publics. Les utilisateurs voient un avertissement et beaucoup partent.
- Intégrations d’API tierces. La plupart des clients rejettent les émetteurs inconnus.
- Production. Absolument pas. Utilisez Let’s Encrypt (gratuit) ou une CA payante pour tout ce qui est sur l’internet ouvert.
Questions fréquentes
Non. La paire de clés et le certificat sont générés dans votre navigateur et restent sur votre appareil ; rien n’est envoyé. Gardez tout de même le fichier key.pem téléchargé privé, car quiconque le détient peut usurper le certificat.
Non, si des tiers vont se connecter. Les navigateurs affichent un avertissement bien visible. Utilisez un certificat signé par une CA gratuite (Let’s Encrypt, ZeroSSL) ou payante. L’auto-signé convient de machine à machine sur un réseau interne où vous contrôlez les deux extrémités.
Historiquement, le CN contenait le domaine principal. Les navigateurs modernes ignorent le CN pour la validation de l’hôte et n’utilisent que les SAN. Mettez toujours chaque nom d’hôte dans les SAN ; réservez le CN au domaine principal, à titre d’identification lisible.
Oui, mettez *.example.com dans les SAN. Il couvre un niveau de sous-domaines. Pour plusieurs niveaux, ajoutez plusieurs jokers (*.example.com et *.dev.example.com).
Outils similaires
Encodeur de César
Cryptez et décryptez du texte en utilisant le chiffre de César. Tout décalage de 1 à 25, prend en charge ROT13 comme un cas spécial, préserve la ponctuation et la casse.
Encodeur et décodeur Base85
Encodez et décodez Base85 dans la variante Adobe Ascii85, celle utilisée dans les fichiers PostScript et PDF. Plus compact que Base64 pour les données binaires.
Encodeur de chiffre A1Z26
Encodez du texte en utilisant le chiffre A1Z26 (A=1, B=2, ... Z=26) ou décodez une séquence de nombres en lettres, avec un séparateur personnalisable.
Générateur bcrypt
Générez un hachage bcrypt à partir d'un mot de passe en clair. Facteur de coût ajustable de 4 à 13, compatible avec Laravel, Django, Node et PHP.
Encodeur et décodeur Base32
Encodez et décodez des chaînes Base32 en utilisant l'alphabet RFC 4648. Utile pour les secrets TOTP, les jetons insensibles à la casse et les identifiants saisis par des humains.
Encodeur de chiffre Atbash
Encodez ou décodez du texte avec le chiffre Atbash, une substitution hébraïque qui associe A-Z à Z-A. La même opération chiffre et déchiffre.