Hoe u de volgende Errors op kunt lossen: "Subject Alternative Name Missing"; “NET::ERR_CERT_COMMON_NAME_INVALID”; of "Your connection is not private" in Google Chrome

BETREFT:

  • Web Browser:
    • Google Chrome Versie 58 of hoger
  • Epson Producten:
    • TM-T88VI-i / TM-T88VI-iHub
    • TM-m30
    • TM-P80 / TM-P60II / TM-P20
    • UB-E04 / UB-R04

UITLEG:

Het Probleem:

Voor Chrome 58 en later wordt alleen de subjectAlternativeName extensie (niet commonName) gebruikt om het domeinnaam en sitecertificaat overeen te laten komen. Als alleen het certificaat niet de correcte subjectAlternativeName extensie heeft, zal de gebruiker de volgende error ontvangen: connection isn’t private.oftewel 'Verbinding is niet privé'.

Achtergrond:

RFC 2818 beschrijft twee methoden om een domeinnaam overeen te laten komen met een certificaat.

  • Het gebruiken van beschikbare namen in de subjectAlternativeName extensie; of,
  • Het gebruiken van de commonName.

Heet gebruiken van commonName was afgenomen in RFC 2818 (uitgebracht in 2000), maar ondersteuning bleef in de meeste applicaties. Voor beveiligingsredenen is deze ondersteuning verwijderd.

Oplossingen:

Er bestaan twee opties voor Google Chrome gebruikers om dit op te lossen:

  1. Zet het controleren van subjectAlternativeName uit in Chrome.

    Dit is een omweg die niet zal functioneren verder dan versie 65 van Google Chrome,en zou alleen maar een tijdelijke oplossing moeten zijn.

  2. Vervang het verkeerde certificaat met het certificaat die de juiste subjectAlternativeName extensienaam heeft.

    Indien juist geimplementeerd, dan is dit een permanente oplossing die zou moeten werken voor de meeste browsers die het controleren van de subjectAlternativeName implementeren.

Het uitschakelen van subjectAlternativeName in Chrome:

Door het toevoegen van de volgende instelling in uw omgeving kan Chrome geforceerd worden om certificaten toe te staan die de subjectAlternativeName extensie missen:

  • Windows registry (REG_DWORD):

    Software\Policies\Google\Chrome\EnableCommonNameFallbackForLocalAnchors

  • Mac/Linux preference name (Boolean):

    EnableCommonNameFallbackForLocalAnchors

  • Android restriction name (Boolean):

    EnableCommonNameFallbackForLocalAnchors

Wanneer deze instelling is ingeschakeld zal Google Chrome de commonName van een servercertificaat overeen laten komen met een hostname als de subjectAlternativeName extensie mist, zolang het succesvol valideert en koppelt met een lokaal geinstalleerde CA certificaat.

Voorbeeld:

Een registersleutel kan toegevoegd worden aan Windows door het volgende in te voeren bij Command Prompt:

reg add HKLM\Software\Policies\Google\Chrome /v EnableCommonNameFallbackForLocalAnchors /t REG_DWORD /d 1

Deze oplossing stopt met werken na versie 65 van Google Chrome.

 

Voorbeeldcreatie en upload van een certificaat met gebruik van de subjectAlternativeName extensie

In dit voorbeeld zullen we een configuratiebestand maken die de benodigde informatie bevat:

Dit bestand bevat de specifieke details die behoren tot de beveiligingsobjecten die we willen genereren, inclusief de hostnamen toegelicht in het rood. Merk opdat dit een IP adres of DNS kan zijn.

Zodra dit bestand gegenereerd is kunnen we req uitvoeren om de beveiligingsobjecten te genereren. Bijvoorbeeld:

Om dit naar de printer te uploaden is het nodig om de beveiligingsobjecten (sleutel en certificaat) te verpakken in een PKCS#12 archief. Bijvoorbeeld:

OpenSSL zal om een wachtwoord vragen.

Het resultaat is dat een PKCS#12 archief klaar is om naar een server (printer) te worden geupload, en een certificate geinstalleerd kan worden in de client.