✦ Oplossingen · SSL- en certificaatfouten

NET::ERR_CERT_DATE_INVALID: certificaat verlopen of klok verkeerd

Chrome toont NET::ERR_CERT_DATE_INVALID? Het certificaat is verlopen of de klok van je apparaat staat verkeerd. Zo zie je welke van de twee het is en wat je eraan doet.

Zo ziet de foutmelding eruit

  • NET::ERR_CERT_DATE_INVALID
  • Your connection is not private
  • Uw verbinding is niet privé
  • SEC_ERROR_EXPIRED_CERTIFICATE
  • Your clock is behind
  • Your clock is ahead

Waarom gebeurt dit?

Een certificaat is alleen geldig tussen twee datums: notBefore (geldig vanaf) en notAfter (geldig tot). De browser vergelijkt die datums met de klok van jouw apparaat. Valt de huidige tijd erbuiten, dan toont hij NET::ERR_CERT_DATE_INVALID. Firefox noemt een verlopen certificaat SEC_ERROR_EXPIRED_CERTIFICATE.

Er zijn dus twee kanten. Of het certificaat van de website is echt verlopen (meestal omdat de automatische verlenging is mislukt), of jouw klok staat verkeerd, waardoor een geldig certificaat nog niet of niet meer geldig lijkt. Dat laatste zie je bij een leeg BIOS-batterijtje, een apparaat dat lang uit heeft gestaan of een handmatig verzette tijdzone. Chrome toont bij een duidelijk verkeerde klok soms een aparte pagina met “Your clock is behind” of “Your clock is ahead”.

Is het certificaat echt verlopen, dan kan alleen de beheerder van de site het oplossen. Als bezoeker kun je hooguit melden dat het misgaat.

Zo herken je dit probleem

  • Je krijgt de melding bij veel sites tegelijk, ook grote: dan staat je klok verkeerd.
  • Je krijgt hem bij één site, ook op een ander apparaat: dan is dat certificaat verlopen.
  • Klik op de foutcode of op Geavanceerd: Chrome noemt vaak de vervaldatum of meldt dat je klok niet klopt.
  • Gaat het om een niet-vertrouwde uitgever of een andere naam, dan heb je een andere fout: zie Uw verbinding is niet privé en ERR_CERT_COMMON_NAME_INVALID.

Zo los je het op, stap voor stap

Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.

  1. Controleer datum, tijd en tijdzone

    Kijk of datum, jaar en tijdzone van je apparaat kloppen. In Windows zet je in recente versies onder Instellingen › Tijd en taal › Datum en tijd de opties Tijd automatisch instellen en Tijdzone automatisch instellen aan en klik je op Nu synchroniseren. Op telefoon en Mac staat de tijd normaal automatisch; controleer of dat nog zo is.

  2. Synchroniseer de klok in Windows via de opdrachtregel

    Werkt de knop niet, start dan de tijdservice opnieuw en dwing een synchronisatie af. Open daarvoor de opdrachtprompt als administrator.

    net stop w32time
    net start w32time
    w32tm /resync
  3. Loopt de klok na elke herstart terug?

    Dan is waarschijnlijk het batterijtje op het moederbord (CMOS-batterij) leeg, vooral bij oudere pc’s. Tot je dat vervangt blijft de klok na het uitzetten verspringen. Laat het vervangen of vraag hulp.

  4. Ligt het aan de site: meld het

    Krijg je de fout bij één site, ook op je telefoon via mobiele data, dan is het certificaat verlopen. Klik niet door bij een site waar je inlogt of betaalt. Laat de eigenaar weten dat het certificaat verlopen is.

  5. Beheerder: bekijk de echte vervaldatum

    Controleer welk certificaat de server nu aanbiedt en tot wanneer het geldig is. Gebruik -servername, anders krijg je bij meerdere sites op één server het verkeerde certificaat te zien.

    openssl s_client -connect domein.nl:443 -servername domein.nl </dev/null 2>/dev/null | openssl x509 -noout -dates
    # geeft notBefore=... en notAfter=...
  6. Beheerder: vernieuw het certificaat

    Bij Let’s Encrypt met certbot zie je met certbot certificates welke certificaten er zijn en wanneer ze verlopen. Vernieuw daarna en herlaad de webserver. Mislukt de verlenging, volg dan SSL-certificaat verlopen: vernieuwen.

    sudo certbot certificates
    sudo certbot renew
    sudo nginx -t && sudo systemctl reload nginx
  7. Beheerder: controleer of de server het nieuwe certificaat gebruikt

    Een vernieuwd bestand op schijf betekent niet dat de webserver het al gebruikt: die moet herladen worden. Draai de openssl-opdracht van hierboven opnieuw en kijk of notAfter in de toekomst ligt. Gebruik je een CDN of proxy ervoor, controleer daar dan ook het certificaat.

Let op: Zet je klok nooit handmatig terug om een verlopen certificaat ‘geldig’ te maken. Dan gaan andere sites, mail en updates juist mis, en het onderliggende probleem bij de website blijft bestaan.

Voor websitebeheerders: waarom verloopt het ondanks automatische verlenging?

Let’s Encrypt-certificaten zijn kort geldig en worden automatisch vernieuwd. Verloopt er toch één, dan is die automatische verlenging een tijd stil mislukt. Typische oorzaken:

  • De timer of cronjob van certbot draait niet (meer).
  • Poort 80 of het pad /.well-known/acme-challenge/ is geblokkeerd, bijvoorbeeld door een firewall of een doorverwijzing.
  • Het domein wijst in DNS naar een andere server, zodat de controle daar terechtkomt.
  • Het certificaat is wel vernieuwd, maar de webserver is niet herladen.

De volledige aanpak staat op SSL-certificaat verlopen of vernieuwen mislukt.

Wanneer schakel je hulp in?

  • Je eigen website toont de fout en certbot renew geeft een foutmelding die je niet begrijpt.
  • Het certificaat is vernieuwd, maar bezoekers zien nog steeds de oude vervaldatum.
  • Op meerdere pc’s op kantoor springt de klok steeds terug of klopt de tijd niet na het opstarten.
  • De website draait bij een externe partij en je weet niet wie het certificaat beheert.

Lukt het niet? Wij helpen

Kom je er met deze stappen niet uit, of wil je het liever niet zelf doen? We kijken online mee of komen langs. Hulp op afstand kost €20 per uur; komen we langs, dan is de prijs op aanvraag. Je weet vooraf waar je aan toe bent.

Aanvraag

Hulp aanvragen

Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.

Veelgestelde vragen

Vragen over dit probleem

Waarom krijg ik deze fout op elke website?

Dan staat de datum of tijd op je apparaat verkeerd. Zet de tijd op automatisch en synchroniseer; daarna verdwijnt de melding.

Hoe zie ik wanneer een certificaat verloopt?

Klik in de browser op het pictogram links van het adres en open de certificaatgegevens, of gebruik de openssl-opdracht hierboven. Daar staat ‘geldig tot’ of notAfter.

Mijn certificaat is net vernieuwd, maar de fout blijft.

Waarschijnlijk is de webserver niet herladen, of serveert een CDN of andere server nog het oude certificaat. Herlaad de webserver en controleer opnieuw met -servername.