Tous les articles SSL SSL et certificats

Revocation de certificat : OCSP, CRL et que se passe-t-il lorsqu'un certificat est compromis

La revocation de certificat est le processus d’invalidation d’un certificat SSL avant sa date d’expiration — generalement parce que la cle privee a ete compromise, le certificat a ete mal emis ou la propriete du domaine a change.

En theorie, la revocation est la facon dont le systeme CA gere les urgences. En pratique, c’est le maillon le plus faible de l’infrastructure PKI. Voici pourquoi, et ce qui la remplace.

Quand revoquer un certificat

  • Cle privee compromise — divulguee, volee ou exposee (par ex., commitee dans un depot Git public)
  • Certificat mal emis — la CA a emis un certificat pour un domaine que vous ne controlez pas
  • Domaine vendu — vous ne possedez plus le domaine que le certificat couvre
  • Changement de cle — vous effectuez une rotation des cles et souhaitez invalider l’ancien certificat
  • Serveur decommissionne — le certificat ne devrait plus etre valide

Comment fonctionne la revocation

CRL (Certificate Revocation List)

Le mecanisme de revocation originel. La CA publie une liste de tous les numeros de serie des certificats revoques. Les navigateurs telechargent la liste et la verifient.

Problemes :

  • Les CRL deviennent volumineuses avec le temps (des millions d’entrees)
  • Les navigateurs doivent telecharger la liste entiere avant de verifier un certificat
  • Lent et gourmand en bande passante — la plupart des navigateurs ont arrete de verifier les CRL il y a des annees

OCSP (Online Certificate Status Protocol)

Une verification en temps reel. Au lieu de telecharger une liste, le navigateur demande au serveur OCSP de la CA : “Ce certificat est-il revoque ?”

Fonctionnement :

Navigateur → OCSP Responder : "Le certificat n° #12345 est-il encore valide ?"
OCSP Responder → Navigateur : "Bon" / "Revoque" / "Inconnu"

Problemes :

  • Vie privee — la CA sait quels sites vous visitez (elle voit chaque requete OCSP)
  • Latence — ajoute un aller-retour reseau a chaque nouvelle connexion HTTPS
  • Disponibilite — si le repondeur OCSP est hors service, les navigateurs effectuent generalement un soft-fail (acceptent le certificat quand meme), rendant la revocation inefficace

OCSP Stapling (l’amelioration)

Le serveur recupere la reponse OCSP periodiquement et l‘“agrafe” au handshake TLS. Le navigateur obtient le statut de revocation sans contacter la CA.

Avantages :

  • Pas de fuite de vie privee (le navigateur ne contacte pas la CA)
  • Pas de latence supplementaire (la reponse est incluse dans le handshake)
  • Fonctionne meme si le serveur OCSP de la CA est lent ou hors service

Configuration :

Nginx :

ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;

Apache :

SSLUseStapling on
SSLStaplingCache "shmcb:/var/run/apache2/ssl_stapling(128000)"

CRLite (le futur)

CRLite de Mozilla compresse toutes les revocations connues dans un filtre compact (~1,5 Mo) qui est livre avec les mises a jour de Firefox. Le navigateur peut verifier le statut de revocation localement — pas de requete reseau, pas de fuite de vie privee, pas de latence. En 2026, CRLite est active dans Firefox et pourrait etre adopte par d’autres navigateurs.

La dure realite de la revocation

La revocation est en grande partie defaillante en pratique :

  • Chrome ne verifie ni OCSP ni CRL par defaut (s’appuie sur ses propres CRLSets — un sous-ensemble organise)
  • Safari verifie OCSP mais effectue un soft-fail (accepte les certificats si le serveur OCSP est injoignable)
  • Firefox utilise CRLite (la meilleure approche, mais uniquement sous Firefox)
  • Le soft-fail OCSP signifie qu’un attaquant determine peut bloquer la verification OCSP et le navigateur acceptera un certificat revoque

C’est pourquoi l’industrie s’oriente vers les certificats a courte duree de vie comme defense principale :

ApprocheComment elle protege
Revocation (OCSP/CRL)Invalider un certificat compromis — mais la verification est peu fiable
Courte validite (90 jours → 47 jours)Le certificat compromis expire rapidement — aucune verification necessaire

Si un certificat n’est valide que 47 jours, une cle volee n’est utile que 47 jours au maximum. Cela limite les degats meme lorsque la revocation ne fonctionne pas.

Comment revoquer un certificat Let’s Encrypt

Si votre cle privee est compromise :

# Avec Certbot
sudo certbot revoke --cert-path /etc/letsencrypt/live/yourdomain.com/cert.pem --reason keycompromise

# Avec acme.sh
acme.sh --revoke -d yourdomain.com

Apres la revocation, obtenez un nouveau certificat immediatement — la revocation ne resout pas le probleme, elle invalide simplement l’ancien certificat. Utilisez GetHTTPS pour emettre un certificat neuf avec une nouvelle paire de cles.

Questions frequemment posees

Dois-je activer OCSP Stapling ?

Oui. Cela ne garantit pas la verification de revocation (les navigateurs peuvent l’ignorer), mais c’est un avantage net : handshake TLS plus rapide (pas de recherche OCSP cote client), meilleure vie privee (le navigateur ne contacte pas la CA) et certains navigateurs respectent les reponses OCSP agrafees. L’activation est gratuite — Nginx et Apache le supportent avec 2-3 lignes de configuration.

A quelle vitesse la revocation prend-elle effet ?

Les CRL sont publiees periodiquement (heures a jours). Les reponses OCSP sont mises en cache (typiquement 1-4 heures). En pratique, un certificat revoque peut rester “valide” pour certains navigateurs pendant 24 heures. C’est une raison supplementaire pour laquelle les certificats a courte duree de vie remplacent la revocation comme defense principale.

Dois-je revoquer lors du renouvellement ?

Non. Obtenir un nouveau certificat ne necessite pas la revocation de l’ancien. L’ancien certificat expire simplement. La revocation n’est necessaire que si la cle privee est compromise — pas pour un renouvellement de routine.

Puis-je verifier si un certificat a ete revoque ?

# Verifier le statut OCSP
openssl s_client -connect yourdomain.com:443 -servername yourdomain.com -status 2>/dev/null | grep "OCSP Response Status"
# "successful" = OCSP stapling fonctionne
# Si vide, le stapling n'est pas active

Ou verifiez sur crt.sh — les certificats revoques sont marques dans l’interface.

Articles connexes

SSL et certificats 2026-05-07
La chaine de confiance des certificats expliquee
Comment les navigateurs verifient les certificats SSL a travers une chaine allant de la CA racine a la CA intermediaire jusqu'a votre certificat. Decouvrez pourquoi l'ordre de la chaine est important et comment corriger les erreurs 'certificat non approuve'.
SSL et certificats 2026-05-07
Validité des certificats SSL : le passage à 47 jours expliqué
Le CA/Browser Forum a voté pour réduire la validité des certificats SSL à 47 jours d'ici 2029. Découvrez le calendrier, ce que cela signifie pour votre site web, et comment vous préparer.
SSL et certificats 2026-05-07
Qu'est-ce qu'une Autorite de Certification (CA) ?
Une Autorite de Certification signe les certificats SSL pour prouver l'identite d'un site web. Decouvrez comment les CAs fonctionnent, le modele de confiance, les principales CAs et pourquoi Let's Encrypt a change l'industrie.
Déploiement 2026-05-08
Comment installer un certificat SSL sur Nginx
Guide étape par étape pour installer un certificat SSL sur Nginx. Couvre l'upload des fichiers, la configuration complète du bloc serveur, les bonnes pratiques TLS, HTTP/2, HSTS, la configuration des redirections, les tests et le dépannage de 6 erreurs courantes.
Obtenez un certificat SSL gratuit dans votre navigateur
Aucune installation, aucun compte. Votre clé privée ne quitte jamais votre appareil.
Obtenir un certificat