it-swarm.com.de

Selbstsigniertes Zertifikat für Domain und Subdomains erstellen - NET :: ERR_CERT_COMMON_NAME_INVALID

Ich habe das Lernprogramm this zum Erstellen signierter SSL-Zertifikate unter Windows für Entwicklungszwecke ausgeführt und es hat für eine meiner Domänen hervorragend funktioniert (ich verwende die Hosts-Datei, um DNS zu simulieren). Dann stellte ich fest, dass ich viele Unterdomänen habe, und das wäre eine Qual, für jede ein Zertifikat zu erstellen. Also habe ich versucht, ein Zertifikat mit Platzhalterzeichen im Feld Common zu erstellen, wie in einigen Antworten bei serverfault vorgeschlagen. So was:

Common Name: *.myserver.net/CN=myserver.net

Nach dem Import dieses Zertifikats in Trusted Root Certification Authority wird jedoch NET::ERR_CERT_COMMON_NAME_INVALID Fehler in Chrome für die Hauptdomain und alle zugehörigen Sub-Domains, zum Beispiel: https://sub1.myserver.net und https://myserver.net.

Dieser Server konnte nicht beweisen, dass es sich um myserver.net handelt. Das Sicherheitszertifikat stammt von * .myserver.net/CN = myserver.net.

Dies kann durch eine falsche Konfiguration oder einen Angreifer verursacht werden, der Ihre Verbindung abfängt.

Stimmt etwas im Feld "Allgemeiner Name" nicht, das diesen Fehler verursacht?

75
Zed

Wie Rahul feststellte, handelt es sich um einen häufigen Chrome und einen OSX-Fehler. Ich hatte in der Vergangenheit ähnliche Probleme. Tatsächlich hatte ich es endlich satt, zwei zusätzliche Klicks zu machen, wenn ich eine lokale Website auf Arbeit testete.

Als mögliche Problemumgehung für dieses Problem [unter Windows] würde ich eines der vielen verfügbaren Dienstprogramme für selbstsignierende Zertifikate verwenden.

Empfohlene Schritte:

  1. Selbst signiertes Zertifikat erstellen
  2. Zertifikat in Windows Certificate Manager importieren
  3. Zertifikat in Chrome Certificate Manager importieren
    HINWEIS: Schritt 3 behebt das aufgetretene Problem einmal Google behebt den Fehler ... in Anbetracht der veralteten Zeit gibt es in absehbarer Zukunft keine ETA. **

    So oft ich Chrome für die Entwicklung bevorzuge, habe ich mich in letzter Zeit in Firefox Developer Edition wiedergefunden. das hat dieses problem nicht.

    Hoffe das hilft :)
17
Thomas.Donnelly

Chrome 58 hat keine Unterstützung für Zertifikate ohne alternative Antragstellernamen .

In Zukunft könnte dies ein weiterer Grund dafür sein, dass Sie auf diesen Fehler stoßen.

56
Michael Renner

Sie können dieses Problem umgehen, indem Sie die Domänennamen hinzufügen, die Sie als "subjectAltName" (alternativer X509v3-Antragstellername) verwenden. Dies kann durch Ändern Ihrer OpenSSL-Konfiguration (/etc/ssl/openssl.cnf unter Linux) und ändern Sie das v3_req Abschnitt so aussehen:

[ v3_req ]

# Extensions to add to a certificate request

basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = myserver.net
DNS.2 = sub1.myserver.net

Vergessen Sie nicht, das -extensions v3_req wechseln, wenn Sie Ihr neues Zertifikat erstellen. (Siehe auch Wie kann ich mit SubjectAltName unter Verwendung von OpenSSL ein selbstsigniertes Zertifikat erstellen? )

26
Fabian S

Erstellen openssl.conf Datei:

[req]
default_bits = 2048
default_keyfile = oats.key
encrypt_key = no
utf8 = yes
distinguished_name = req_distinguished_name
x509_extensions = v3_req
Prompt = no

[req_distinguished_name]
C = US
ST = Cary
L = Cary
O  = BigCompany
CN = *.myserver.net

[v3_req]
keyUsage = critical, digitalSignature, keyAgreement
extendedKeyUsage = serverAuth
subjectAltName = @alt_names

[alt_names]
DNS.1 = myserver.net
DNS.2 = *.myserver.net

Führen Sie diesen Befehl aus:

openssl req -x509 -sha256 -nodes -days 3650 -newkey rsa:2048 -keyout app.key -out app.crt  -config openssl.conf

Ausgabedateien app.crt und app.key arbeite für mich.

13
Alykoff Gali

Ihr Platzhalter *.example.com deckt nicht aber die Root-Domain example.com ab deckt jede Variante einer sub - Domain ab, wie z. B. www.example.com oder test.example.com

Die bevorzugte Methode besteht darin, alternative Antragstellernamen wie in Fabians Antwort festzulegen. Beachten Sie jedoch, dass Chrome) derzeit erforderlich ist, dass der allgemeine Name zusätzlich als einer der alternativen Antragstellernamen aufgeführt wird Namen (wie es in seiner Antwort richtig gezeigt wird). Ich habe dieses Problem kürzlich entdeckt, weil ich den allgemeinen Namen example.com mit SANs www.example.com und test.example.com hatte, aber bekam Die Warnung NET::ERR_CERT_COMMON_NAME_INVALID von Chrome. Ich musste eine neue Zertifikatsignierungsanforderung mit example.com als Common Name und eines der SANs generieren. Dann Chrome voll vertrauenswürdig für das Zertifikat. Und vergessen Sie nicht, das Stammzertifikat in Chrome als vertrauenswürdige Instanz zur Identifizierung von Websites zu importieren.

12
Jeff Puckett

Ich denke, es könnte ein Fehler in Chrom sein. Es gab ein ähnliches Problem lange zurück: Siehe dies.

Versuchen Sie es in einem anderen Browser. Ich denke, es sollte gut funktionieren.

5
Rahul Sreeram

Für alle, die auf dieses Problem stoßen und das Risiko akzeptieren möchten, es zu testen, gibt es eine Lösung: Wechseln Sie in den Inkognito-Modus in Chrome), und Sie können "Erweitert" öffnen und auf "Klicken". Weiter mit some.url ".

Dies kann hilfreich sein, wenn Sie eine Website überprüfen müssen, die Sie selbst pflegen, und nur als Entwickler testen (und wenn Sie noch kein ordnungsgemäßes Entwicklungszertifikat konfiguriert haben).

Dies ist natürlich NICHT FÜR MENSCHEN, die eine Website in der Produktion verwenden, bei der dieser Fehler darauf hinweist, dass ein Problem mit der Sicherheit der Website vorliegt.

1
bashmish

Wenn Sie müde von diesem Fehler sind. Sie können Chrome nicht so handeln. Ich sage nicht, es ist der beste Weg, nur zu sagen, es ist ein Weg.

Als Problemumgehung kann ein Windows-Registrierungsschlüssel erstellt werden, mit dem Google Chrome) den commonName eines Serverzertifikats verwenden kann, um einen Hostnamen abzugleichen, wenn dem Zertifikat eine subjectAlternativeName-Erweiterung fehlt, sofern dies erfolgreich ist Überprüft und verkettet eine lokal installierte CA-Zertifikate.

Datentyp: Boolean [Windows: REG_DWORD] Windows-Registrierungsspeicherort: HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome Name der Windows-/Mac-/Linux-/Android-Voreinstellung: EnableCommonNameFallbackForLocalAnchors Wert: 0x00000001 (Windows), true (Linux), true (Android), (Mac) Führen Sie einfach die folgenden Schritte aus, um einen Windows-Registrierungsschlüssel zu erstellen:

Öffnen Sie den Editor. Kopieren Sie den folgenden Inhalt und fügen Sie ihn in den Editor von Windows Registry Editor Version 5.00 ein

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome] "EnableCommonNameFallbackForLocalAnchors" = dword: 00000001 Wechseln Sie zu Datei> Als Dateinamen speichern: any_filename.reg Dateityp: Alle Dateien

Wählen Sie einen bevorzugten Speicherort für die Datei

Klicken Sie auf Speichern

Doppelklicken Sie auf die gespeicherte Datei, um sie auszuführen

Klicken Sie in der Warnung des Registrierungseditors auf Ja

Diese Informationen finden Sie auf der Symantec-Support-Seite: https://support.symantec.com/en_US/article.TECH240507.html

0
ambidexterous