Uw client weigert een certificaat waarvan de keten schoon valideert, en de fout zegt dat de naam niet overeenkomt. Die melding gaat niet over wie het certificaat heeft ondertekend. Ze gaat over de extensie met alternatieve onderwerpnamen, die de identiteiten draagt die het certificaat mag vertegenwoordigen, en over of de identiteit die u hebt geconfigureerd daar in de juiste vorm staat. Vertrouwen beantwoordt wie het ondertekende, terwijl de naamcontrole beantwoordt bij welke host het hoort.

Wat de client werkelijk vergelijkt

De client zet uw configuratie om in een referentie-identiteit: een hostnaam, een adres of een protocolspecifieke identificatie. Daarna zoekt hij die identiteit in het certificaat, met toepassing van de overeenkomstregels van het gebruikte protocol. Alleen vermeldingen van hetzelfde type tellen, dus een DNS-vermelding kan geen adres vervullen, en de vergelijking gebeurt of iemand nu naar het certificaat kijkt of niet.

Wanneer de referentie-identiteit in die extensie ontbreekt, mislukt de controle zelfs als de oude common name overeenkomt. Een certificaat kan rechtmatig aan een bedrijf zijn uitgegeven en toch het verkeerde zijn voor vpn.example.com als de naam nooit is opgenomen. De fout is een naamafwijking, ook al is het certificaat echt.

DNS-namen en IP-adressen zijn afzonderlijke vermeldingen

Een profiel dat naar 203.0.113.10 wijst terwijl het certificaat alleen vpn.example.com vermeldt, wordt geweigerd, omdat de pakketten aankomen maar de identiteit niet overeenkomt. DNS-namen en adresliteralen worden als verschillende vermeldingstypen opgeslagen, en het ene vervangt nooit het andere. Daarom kan een dienst via het adres bereikbaar zijn en toch onbruikbaar via een profiel dat dat adres gebruikt.

Jokertekens volgen ook hun eigen regels: een jokerteken dekt één label, niet elke naam onder een domein. DNS-vergelijking is niet hoofdlettergevoelig, terwijl andere identificatietypen dat wel zijn, dus een waarde die er op het scherm identiek uitziet kan een strikte vergelijking niet doorstaan. Controleer de overeenkomstregels voor het gebruikte identiteitstype in plaats van tekenreeksen met het oog te vergelijken. Een naam aan de extensie toevoegen is een uitgiftebeslissing, niet iets wat een clientinstelling kan leveren.

Inspecteer het certificaat dat de verbinding werkelijk gebruikte

Lees het materiaal dat het actieve eindpunt presenteert, niet een bestand dat van een beheerderspagina is gekopieerd. Een loadbalancer of een vervangende instantie kan iets anders presenteren dan het certificaat dat maanden geleden is geüpload, en dat verschil is onzichtbaar in een console.

openssl s_client -connect vpn.example.com:443 -showcerts </dev/null | openssl x509 -noout -text

Het blok met alternatieve onderwerpnamen, de uitgeversketen en de geldigheidsperiode horen bij dezelfde lezing, omdat een naamafwijking en een verloop verschillende fouten opleveren. Vergelijk elke naam in dat blok met de in het profiel geconfigureerde identiteit, teken voor teken, en noteer welk type het is. Als u de opdracht tegen de adresvorm van het eindpunt herhaalt, blijkt of het certificaat beide identiteiten dekt of slechts één. Een vriendelijke onderwerpweergave in een beheerconsole is geen validatieresultaat en zegt niets over welke namen de extensie bevat.

De common name is niet de moderne bron van waarheid

Browsers en de meeste TLS-bibliotheken negeren de common name nu voor hostnaamovereenkomst en raadplegen de extensie. Sommige VPN-clients vergelijken nog steeds eerst de common name of vallen daarop terug als de extensie ontbreekt, en zo kan één certificaat in een browser slagen en in een client mislukken. Dezelfde naamcontrole kan op het ene platform slagen en op het andere mislukken zonder dat het certificaat ook maar iets verandert.

Zoek uit welk veld uw client leest voordat u besluit dat het certificaat verkeerd is. Twee clients op hetzelfde eindpunt kunnen het oneens zijn, en die onenigheid is informatie over de client, niet over het certificaat.

Repareer de uitgifte of het profiel, niet de controle

Als een profiel rond een alias is gebouwd, wijs het dan opnieuw naar de gedocumenteerde hostnaam of geef het certificaat voor de alias opnieuw uit en rol het uit in een gepland venster. De waarschuwing dempen is geen derde optie, omdat de controle de enige stap is die een ondertekend certificaat aan deze specifieke host bindt. Hem verwijderen betekent dat elk certificaat van dezelfde autoriteit kan instaan voor de server die u wilde bereiken.

Vernieuwing moet de bedoelde namen en het doel behouden in plaats van alleen de vervaldatum naar voren te schuiven. Een vernieuwing die een naam laat vallen is een nieuwe storing die voor de volgende herstart is gepland, en die komt meestal zonder waarschuwing omdat het oude certificaat nog geldig was toen de wijziging werd gemaakt.

Leg de verwachte identiteit, de gepresenteerde namen en de keten die ze heeft ondertekend vast. Die vastlegging maakt de volgende vernieuwing een vergelijking in plaats van een onderzoek. De definitie van de extensie staat in RFC 5280 als u een specifieke uitgifte moet controleren.

Gerelateerde artikelen