Introduction
OpenSSL est un outil incontournable pour manipuler des certificats SSL/TLS, diagnostiquer des problÚmes HTTPS ou vérifier la cohérence entre clés et certificats.
Cette cheatsheet regroupe les commandes OpenSSL les plus utiles en production.
Vérifier un certificat SSL
Afficher la date dâexpiration dâun certificat
openssl x509 -enddate -noout -in cert.pem
Sortie typique :
notAfter=Jun 12 23:59:59 2026 GMT
Indispensable pour anticiper un renouvellement (monitoring, cron, etc.)
Afficher toutes les informations dâun certificat
openssl x509 -in cert.pem -text -noout
Permet dâanalyser :
- émetteur (issuer)
- sujet (subject)
- validité
- extensions
Afficher les SAN (Subject Alternative Names)
openssl x509 -in cert.pem -text -noout | grep -A1 "Subject Alternative Name"
Utile pour vĂ©rifier les domaines couverts par le certificat (multi-domaines, wildcardâŠ)
Vérifier la correspondance clé privée / certificat
Méthode via hash (recommandée)
openssl x509 -noout -modulus -in cert.pem | openssl md5
openssl rsa -noout -modulus -in privkey.pem | openssl md5
Les deux rĂ©sultats doivent ĂȘtre identiques
Vérifier une clé privée
openssl rsa -check -in privkey.pem
Permet de valider lâintĂ©gritĂ© de la clĂ© privĂ©e
Tester un certificat distant (serveur HTTPS)
Récupérer le certificat depuis un serveur
openssl s_client -connect example.com:443 -servername example.com
Affiche :
- certificat serveur
- chaĂźne de certification
- handshake TLS
VĂ©rifier la date dâexpiration dâun site distant
openssl s_client -connect example.com:443 -servername example.com 2>/dev/null | openssl x509 -noout -enddate
TrĂšs utile pour automatiser des checks (monitoring / scripts)
Vérifier une chaßne de certification
openssl verify -CAfile ca_bundle.pem cert.pem
Permet de valider que le certificat est bien signé par une autorité reconnue
Convertir des certificats
PEM â DER
openssl x509 -outform der -in cert.pem -out cert.der
DER â PEM
openssl x509 -inform der -in cert.der -out cert.pem
Extraire un certificat depuis un fichier PKCS#12 (.pfx / .p12)
openssl pkcs12 -in cert.p12 -clcerts -nokeys -out cert.pem
Extraire la clé privée
openssl pkcs12 -in cert.p12 -nocerts -out privkey.pem
Générer des clés et CSR
Générer une clé privée
openssl genrsa -out privkey.pem 2048
Générer une CSR (Certificate Signing Request)
openssl req -new -key privkey.pem -out request.csr
UtilisĂ© pour demander un certificat Ă une autoritĂ© (Letâs Encrypt, CA interneâŠ)
Debug TLS / SSL
Tester une connexion TLS avec détails
openssl s_client -connect example.com:443 -tls1_2
Permet dâidentifier :
- version TLS utilisée
- cipher suite
- erreurs de handshake
Vérifier les ciphers supportés
openssl ciphers -v
Bonnes pratiques
- Automatiser la vérification des expirations (cron + alerting)
- Toujours protéger les clés privées (
chmod 600) - Vérifier systématiquement la correspondance clé / certificat
- Utiliser des certificats avec SAN correctement configurés
- Privilégier TLS 1.2 minimum (idéalement TLS 1.3)
Conclusion
MaĂźtriser OpenSSL est essentiel pour tout administrateur systĂšme ou DevOps.
Ces commandes couvrent les besoins les plus fréquents : diagnostic, génération, vérification et conversion de certificats.
Dans un contexte de production, elles permettent de gagner un temps considĂ©rable lors dâincidents liĂ©s au SSL/TLS.
