🔐 OpenSSL Cheatsheet : les commandes essentielles pour certificats SSL/TLS

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.