Chrome meldt “Uw verbinding is niet privé” of Firefox SEC_ERROR_UNKNOWN_ISSUER? Lees of het aan jouw apparaat of aan de website ligt, wanneer je niet doorklikt en hoe je het oplost.
Met deze waarschuwing zegt de browser: ik kan niet vaststellen dat deze website echt is wie hij zegt te zijn. Bij elke https-verbinding laat de server een certificaat zien, een digitaal identiteitsbewijs dat is ondertekend door een certificaatautoriteit (CA) die de browser vertrouwt. Klopt er iets niet aan dat bewijs, dan stopt de browser vóórdat er gegevens worden uitgewisseld. Daaronder staat een foutcode die precies zegt wát er niet klopt. Deze pagina is het overzicht; per foutcode is er een eigen pagina met stappen.
Bij NET::ERR_CERT_AUTHORITY_INVALID (in Firefox SEC_ERROR_UNKNOWN_ISSUER) vertrouwt de browser de uitgever van het certificaat niet. Aan de kant van de website komt dat door een zelfondertekend certificaat (door de beheerder zelf gemaakt, niet door een CA), een certificaat van een interne of onbekende CA, of een onvolledige keten: de server stuurt alleen zijn eigen certificaat mee en niet de tussencertificaten (intermediates) die de koppeling naar de vertrouwde CA maken.
Aan jouw kant kan hetzelfde beeld ontstaan. Antivirussoftware met een HTTPS-scan of een bedrijfsproxy zet een eigen certificaat tussen jou en de site. Een openbaar wifi-netwerk (hotel, trein, horeca) onderschept het eerste verzoek om je naar een inlogpagina te sturen. En een verkeerd ingestelde klok laat geldige certificaten ongeldig lijken. In het slechtste geval probeert iemand echt mee te kijken. Daarom is doorklikken geen oplossing.
AUTHORITY_INVALID of Firefox noemt SEC_ERROR_UNKNOWN_ISSUER of MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT: het gaat om de uitgever of de keten. Dat behandelt deze pagina.NET::ERR_CERT_DATE_INVALID, dan is het certificaat verlopen of klopt je klok: zie ERR_CERT_DATE_INVALID.NET::ERR_CERT_COMMON_NAME_INVALID, dan hoort het certificaat bij een andere naam: zie ERR_CERT_COMMON_NAME_INVALID.ERR_SSL_PROTOCOL_ERROR of ERR_SSL_VERSION_OR_CIPHER_MISMATCH, dan mislukt de verbinding al eerder: zie ERR_SSL_PROTOCOL_ERROR en ERR_SSL_VERSION_OR_CIPHER_MISMATCH.Menunamen kunnen per versie of toestel iets anders heten. Loop de stappen op volgorde af en stop zodra het werkt.
Klik in Chrome of Edge op Geavanceerd om de code te zien, in Firefox op Geavanceerd…. Die code bepaalt welke pagina je verder nodig hebt (zie hierboven). Vul op zo’n pagina geen wachtwoord, betaalgegevens of persoonsgegevens in, ook niet als de site er normaal uitziet.
Krijg je de melding bij veel sites tegelijk, dan ligt het vrijwel zeker aan je apparaat of netwerk. Krijg je hem bij één site, ook op je telefoon via mobiele data, dan ligt het aan die website. Deze ene test bespaart veel zoekwerk.
Staat je klok dagen of jaren verkeerd, dan lijkt elk certificaat ongeldig. Zet in Windows in recente versies onder Instellingen › Tijd en taal › Datum en tijd de optie Tijd automatisch instellen aan en klik op Nu synchroniseren. Op een Mac staat dit onder Systeeminstellingen › Algemeen › Datum en tijd.
In hotels en treinen moet je vaak eerst akkoord geven op een portaalpagina. Open een gewone http-site of de pagina die je apparaat zelf voorstelt, rond het inloggen af en probeer het daarna opnieuw. Op een onbekend netwerk doe je liever geen bankzaken.
Veel beveiligingspakketten hebben een webschild dat versleuteld verkeer openbreekt om het te controleren. Gaat dat mis, dan vertrouwt de browser het vervangende certificaat niet. Zet die functie kort uit om te testen; verdwijnt de melding, werk het pakket dan bij of laat de functie uit. Op een werklaptop kan een bedrijfsproxy hetzelfde doen: meld het dan bij je IT-beheer.
Bekijk welk certificaat de server echt aanbiedt en of de tussencertificaten meekomen. Staat bij issuer je eigen servernaam, dan is het zelfondertekend. Toont s_client maar één certificaat in de keten (depth 0) en een fout als unable to get local issuer certificate, dan ontbreekt de intermediate.
openssl s_client -connect domein.nl:443 -servername domein.nl -showcerts </dev/null 2>/dev/null | openssl x509 -noout -subject -issuer
openssl s_client -connect domein.nl:443 -servername domein.nl </dev/null 2>&1 | grep -E 'depth|verify'Vervang een zelfondertekend certificaat door een certificaat van een publieke CA, bijvoorbeeld gratis van Let’s Encrypt. Laat de webserver de volledige keten uitserveren: bij Let’s Encrypt is dat fullchain.pem, niet cert.pem. Herlaad daarna de webserver en test opnieuw.
# nginx
ssl_certificate /etc/letsencrypt/live/domein.nl/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domein.nl/privkey.pem;
sudo nginx -t && sudo systemctl reload nginxLet op: Klik niet door op “Doorgaan naar … (onveilig)” bij een site waar je inlogt, betaalt of gegevens invult. Doorklikken is alleen te verdedigen bij een apparaat in je eigen netwerk (router, NAS, testserver) waarvan je zeker weet dat het een zelfondertekend certificaat gebruikt.
Doorklikken betekent dat je de identiteitscontrole overslaat. De verbinding is dan nog wel versleuteld, maar je weet niet met wíe. Dat is precies de situatie waarin iemand op hetzelfde netwerk je verkeer kan onderscheppen.
Ben je zelf de eigenaar, dan is de echte oplossing altijd een geldig certificaat. Een website-scan laat zien wat je site naar buiten toe aanbiedt.
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.
Schrijf kort wat er misgaat en wat je al hebt geprobeerd. Kies of we bellen, online meekijken of langskomen.
Bij een site waar je gegevens invult wel: je weet dan niet zeker met wie je verbonden bent. Bij een eigen apparaat op je thuisnetwerk met een zelfondertekend certificaat is het risico klein.
Dan ligt het aan het wifi-netwerk: een inlogportaal, een filter of een proxy die het verkeer onderschept. Rond het inloggen op het portaal af of gebruik een vertrouwd netwerk.
Vaak ontbreekt het tussencertificaat in de serverconfiguratie, of is het certificaat niet op de juiste site of naam geïnstalleerd. Controleer de keten met de openssl-opdracht hierboven.
Zelden. De browser controleert het certificaat bij elke verbinding opnieuw. Klok, netwerk, antivirus of de website zelf zijn veel waarschijnlijker.
Hulp nodig van een mens? Website-onderhoud · Hosting en onderhoud · Gratis website-scan · Alle oplossingen