Le message « NET::ERR_CERT_DATE_INVALID » de Chrome indique que le certificat présenté par le site est périmé, ou que l’horloge de votre appareil est fausse. Visiteur, corrigez la date et l’heure. Propriétaire, lisez la date de fin avec openssl, renouvelez le certificat avec Certbot ou chez l’hébergeur, puis rechargez le serveur web.
Un certificat TLS a une date de début et une date de fin. Passé cette date, les navigateurs affichent « Votre connexion n’est pas privée » et bloquent l’accès ; Chrome ajoute le code NET::ERR_CERT_DATE_INVALID sous le message, cliquez sur « Avancé » pour le lire. Le plus souvent, le renouvellement automatique a cessé de fonctionner sans bruit : tâche planifiée supprimée, port 80 fermé, domaine qui ne pointe plus vers le serveur, ou certificat renouvelé sur disque mais jamais rechargé par le serveur web.
Les étapes 1 et 2 concernent la personne qui visite le site, les étapes 3 à 8 la personne qui le possède ou l’administre. Si le message affiche un autre code, par exemple un nom non correspondant, les étapes 7 et 8 couvrent les cas voisins.
Contrôler la date et l’heure de votre appareil
Si vous visitez un site. Un ordinateur ou un téléphone dont l’horloge est décalée juge périmés des certificats parfaitement valides, et le message apparaît alors sur tous les sites. Dans les réglages de date et d’heure, activez le réglage automatique et le fuseau horaire, puis rechargez la page. Si un seul site pose problème, l’horloge n’est pas en cause.
Tester depuis un autre appareil ou un autre réseau
Si vous visitez un site. Ouvrez l’adresse depuis un téléphone en 4G ou 5G. Si l’alerte persiste partout, le certificat du site est réellement en défaut : prévenez son éditeur avec une capture du détail de l’erreur. Ne cliquez pas sur « Continuer quand même » pour saisir un mot de passe ou une carte bancaire.
Lire la date de fin du certificat côté serveur
Si c’est votre site. Depuis un poste de travail ou le serveur, interrogez le port 443 avec openssl s_client -connect exemple.fr:443 -servername exemple.fr, en remplaçant le nom par le vôtre. Pour n’afficher que les dates, relancez la commande en la reliant à openssl x509 -noout -dates par un tube. La ligne notAfter donne la date d’expiration. Dans Chrome, le détail du certificat figure aussi dans le cadenas de la barre d’adresse, puis « La connexion n’est pas sécurisée ».
Renouveler un certificat Let’s Encrypt avec Certbot
Si c’est votre site. Testez d’abord le renouvellement avec certbot renew --dry-run : la commande simule l’opération sans toucher au certificat en place et affiche l’erreur exacte en cas d’échec. Les causes courantes sont un port 80 fermé, un domaine qui pointe ailleurs ou un serveur web qui ne sert plus le dossier de validation. Une fois la cause corrigée, lancez certbot renew pour obtenir le nouveau certificat. Vérifiez que le renouvellement automatique existe : systemctl list-timers doit montrer le minuteur de Certbot, ou une tâche cron équivalente.
Recharger le serveur web
Si c’est votre site. Un certificat renouvelé sur le disque n’est utilisé qu’après rechargement. Testez la configuration puis rechargez : nginx -t puis systemctl reload nginx, ou apachectl configtest puis systemctl reload apache2 sur Debian et Ubuntu. Relisez ensuite les dates avec la commande de l’étape 3. Si elles n’ont pas changé, vérifiez que les directives ssl_certificate (nginx) ou SSLCertificateFile (Apache) pointent vers le fichier renouvelé et non vers une ancienne copie.
Renouveler le certificat chez l’hébergeur
Si c’est votre site. Sur un hébergement mutualisé ou managé, le certificat se gère dans le panneau : cherchez la rubrique SSL/TLS, « Certificats » ou « Sécurité » de cPanel, Plesk ou de l’espace client. Relancez l’émission du certificat inclus dans votre offre ou installez celui que vous avez acheté. Un certificat payant arrivé à échéance doit être renouvelé auprès de l’autorité qui l’a délivré, puis réinstallé avec sa clé.
Compléter la chaîne de certificats intermédiaires
Si c’est votre site. Un certificat valide mais livré sans ses certificats intermédiaires produit des erreurs sur certains appareils seulement. Le serveur doit présenter le certificat suivi de la chaîne : avec Let’s Encrypt, utilisez le fichier fullchain.pem et non cert.pem. Dans la sortie d’openssl, la section « Certificate chain » doit lister plusieurs entrées.
Vérifier que le certificat couvre le nom demandé
Si c’est votre site. Un certificat établi pour exemple.fr ne couvre pas www.exemple.fr si ce nom n’y figure pas. Le champ « Subject Alternative Name » du certificat liste les noms valides. Réémettez le certificat en ajoutant chaque nom utilisé, par exemple avec les options -d répétées de Certbot, puis rechargez le serveur.
Questions fréquentes
Pourquoi mon certificat Let’s Encrypt ne s’est-il pas renouvelé tout seul ?
Les causes les plus courantes sont un port 80 fermé par un pare-feu, un domaine dont le DNS ne pointe plus vers le serveur, un minuteur systemd désactivé ou une configuration web modifiée. Lancez certbot renew --dry-run : l’erreur affichée désigne la cause à corriger.
Comment savoir quand mon certificat SSL expire ?
Lisez la ligne notAfter renvoyée par openssl x509 -noout -dates, ou consultez le détail du certificat dans le navigateur. Let’s Encrypt a mis fin à son service d’e-mails de rappel : une surveillance de l’échéance, côté serveur ou par un outil externe, est donc à prévoir.
Un certificat expiré rend-il mon site dangereux ?
Le site n’est pas piraté pour autant : le chiffrement n’est simplement plus garanti par une autorité reconnue. En revanche, les navigateurs bloquent l’accès et les visiteurs perdent confiance. Remplacez le certificat sans tarder, et ne désactivez pas la vérification pour contourner l’alerte.
Faut-il redémarrer le serveur après avoir renouvelé le certificat ?
Un redémarrage complet est inutile : un simple rechargement du serveur web suffit pour qu’il lise le nouveau fichier. Avec Certbot, une commande de rechargement peut être attachée au renouvellement pour que cette étape ne dépende plus d’un geste manuel.
Que signifie NET::ERR_CERT_DATE_INVALID dans Chrome ?
Ce code signifie que la date du jour se situe hors de la période de validité du certificat : il est expiré, pas encore valable, ou l’horloge de l’appareil est fausse. Si l’erreur touche tous les sites, corrigez l’heure de l’appareil ; si elle touche un seul site, son certificat doit être renouvelé.
Sources
- Questions fréquentes — Let’s Encrypt
- Guide d’utilisation de Certbot — Certbot (EFF)
- Instructions d’installation de Certbot — Certbot (EFF)