Le guide complet d'OpenSSL : Certificats et Clés
OpenSSL est le couteau suisse de la cryptographie. Que vous génériez un nouveau certificat SSL pour votre site web, que vous convertissiez une clé entre différents formats ou que vous déboguiez un problème de chaîne de certificats, OpenSSL est l'outil que vous utiliserez. Cependant, son interface en ligne de commande est réputée pour sa complexité.
Ce guide propose un chemin clair à travers les tâches OpenSSL les plus courantes, de la génération de votre premier certificat auto-signé aux conversions avancées.
1. Génération de certificats et de requêtes
Avant de pouvoir obtenir un certificat, vous devez générer une clé et souvent une demande de signature de certificat (CSR).
Générateur de CSR en ligne
Bien qu'un générateur de CSR en ligne soit un moyen rapide de créer une demande, il est plus sûr de la générer localement afin que votre clé privée ne quitte jamais votre serveur. Un CSR contient des informations sur votre organisation et la clé publique que vous souhaitez faire signer par une autorité de certification (CA).
Générateur de certificat auto-signé
Pour les tests internes ou les environnements de staging, un générateur de certificat auto-signé est souvent suffisant. Il vous permet de créer un certificat qui n'est pas approuvé par les navigateurs publics mais qui est fonctionnellement identique pour une communication chiffrée.
Aide-mémoire OpenSSL : Génération de clés
- Générer une clé privée RSA :
openssl genrsa -out private.key 2048 - Générer un CSR :
openssl req -new -key private.key -out request.csr - Générer un certificat auto-signé :
openssl x509 -req -days 365 -in request.csr -signkey private.key -out certificate.crt
2. Conversion de format
Différentes plateformes et serveurs nécessitent différents formats de certificat.
Convertisseur PEM vers DER et DER vers PEM
- PEM : Le format le plus courant, généralement
.crtou.pem. Il est encodé en base64 et contient du texte tel que-----BEGIN CERTIFICATE-----. - DER : Une représentation binaire du certificat, souvent utilisée par Java ou du matériel spécialisé.
Aide-mémoire OpenSSL : Commandes de conversion
- Convertisseur PEM vers DER :
openssl x509 -in cert.pem -outform der -out cert.der - Convertisseur DER vers PEM :
openssl x509 -in cert.der -inform der -out cert.pem
Convertisseur PKCS#12 vers PEM
Windows et certains systèmes d'entreprise utilisent le format PKCS#12 (.p12 ou .pfx), qui regroupe le certificat et la clé privée dans un seul fichier protégé par mot de passe.
- Convertisseur PKCS#12 vers PEM :
openssl pkcs12 -in cert.p12 -out cert.pem -nodes
3. Débogage et validation
Rien n'est plus frustrant qu'une erreur « Certificat invalide ». Les outils de décodage et de vérification de vos certificats sont essentiels.
Décodeur de certificat SSL
Un décodeur de certificat SSL vous permet de lire les détails d'un fichier de certificat dans un format lisible par l'homme.
- Voir les infos du certificat :
openssl x509 -in certificate.crt -text -noout - Voir les infos du CSR :
openssl req -in request.csr -text -noout
Vérificateur de chaîne de certificats
Un vérificateur de chaîne de certificats garantit que votre serveur fournit la chaîne complète, y compris les certificats intermédiaires. Si la chaîne est rompue, les appareils mobiles et certains navigateurs afficheront un avertissement de sécurité.
- Vérifier un fichier local :
openssl verify -CAfile ca-bundle.crt certificate.crt - Vérifier un serveur distant :
openssl s_client -connect google.com:4443
4. Résumé
OpenSSL est un outil puissant mais intimidant. En utilisant notre aide-mémoire OpenSSL et en comprenant les tâches courantes telles que la conversion PEM vers DER ou la génération de CSR, vous pouvez gérer en toute confiance l'infrastructure de sécurité de n'importe quelle application web moderne.
N'oubliez jamais de garder vos clés privées secrètes, d'utiliser des algorithmes robustes (comme RSA 2048+ ou ECC) et de vérifier vos chaînes de certificats avant de les déployer en production.