Ich habe ein selbstsigniertes SSL-Zertifikat für den localhost CN erstellt. Firefox akzeptiert dieses Zertifikat, nachdem es sich erwartungsgemäß zunächst darüber beschwert hat. Chrome und IE lehnen es jedoch ab, es zu akzeptieren, selbst nachdem das Zertifikat dem Systemzertifikatsspeicher unter Vertrauenswürdige Wurzeln hinzugefügt wurde. Obwohl das Zertifikat als korrekt installiert aufgeführt ist, wenn ich im HTTPS-Popup von Chrome auf "Zertifikatinformationen anzeigen" klicke, besteht es weiterhin darauf, dass dem Zertifikat nicht vertraut werden kann.
Was soll ich tun, damit Chrome das Zertifikat akzeptiert und sich nicht mehr darüber beschwert?
google-chrome
ssl
certificate
self-signed
Pjohansson
quelle
quelle
net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM
.Antworten:
2020-05-22 : Mit nur 6 Shell-Befehlen können Sie dies erreichen.
Bitte ändern Sie nicht die Sicherheitseinstellungen Ihres Browsers.
Mit dem folgenden Code können Sie (1) Ihre eigene Zertifizierungsstelle werden, (2) dann Ihr SSL-Zertifikat als Zertifizierungsstelle signieren. (3) Importieren Sie anschließend das CA-Zertifikat (nicht das SSL-Zertifikat, das auf Ihren Server übertragen wird) in Chrome / Chromium. (Ja, das funktioniert sogar unter Linux.)
Um es noch einmal zusammenzufassen:
myCA.pem
als Autorität in Ihren Chrome - Einstellungen (Settings> Zertifikate verwalten> Behörden> Import).crt
Datei auf Ihrem ServerZusätzliche Schritte (zumindest für Mac):
extendedKeyUsage=serverAuth,clientAuth
unten hinzubasicConstraints=CA:FALSE
, und stellen Sie sicher, dass Sie den "CommonName" auf den gleichen Wert einstellen, als$NAME
wenn Sie nach dem Setup fragenSie können Ihre Arbeit überprüfen
quelle
-days 825
statt-days 1825
aufgrund superuser.com/questions/1492643/... , und es ist bemerkenswert, dass die Wurzel cert in Key Chain Access zu importieren, müssen Sie nicht nur auf „Datei > Datei importieren ", aber um sie auch in der Liste zu finden, klicken Sie mit der rechten Maustaste darauf, erweitern Sie"> Vertrauen "und wählen Sie" Immer ".Für
localhost
nur:Fügen Sie dies einfach in Ihr Chrom ein:
Sie sollten einen hervorgehobenen Text sehen, der besagt: Zulassen ungültiger Zertifikate für Ressourcen, die von localhost geladen werden
Klicken Sie auf
Enable
.quelle
Das hat bei mir funktioniert:
Chrome Settings > Show advanced settings > HTTPS/SSL > Manage Certificates
.Authorities
Registerkarte und scrollen Sie nach unten, um Ihr Zertifikat unter dem Organisationsnamen zu finden, den Sie dem Zertifikat gegeben haben.Sie sollten jetzt das schöne grüne Schloss auf Ihren Seiten erhalten.
BEARBEITEN: Ich habe dies auf einem neuen Computer erneut versucht und das Zertifikat wurde nicht im Fenster "Zertifikate verwalten" angezeigt, indem ich einfach von der roten Seite "Nicht vertrauenswürdiges Zertifikat" fortfuhr. Ich musste folgendes tun:
https://
Klicken Sie auf der Seite mit dem nicht vertrauenswürdigen Zertifikat ( rot durchgestrichen) auf die Sperre> Zertifikatinformationen. HINWEIS: Bei neueren Chrome-Versionen müssen Sie öffnenDeveloper Tools > Security
und auswählenView certificate
.Details tab > Export
. Wählen SiePKCS #7, single certificate
als Dateiformat.Authorities tab > Import
und wählen Sie die Datei aus, in die Sie das Zertifikat exportiert haben, und stellen Sie sicher, dass SiePKCS #7, single certificate
den Dateityp auswählen .quelle
Export
Schaltfläche mehr. Diese scheint durch die wunderbareCopy to file
Schaltfläche ersetzt worden zu sein. Warum "Export" nicht beibehalten wurde, verwirrt der Geist nurUPDATE FÜR CHROM 58+ (VERÖFFENTLICHT 19.04.2017)
Ab Chrome 58 wurde die Möglichkeit, den Host nur mit zu identifizieren,
commonName
entfernt . Zertifikate müssen jetzt verwendet werdensubjectAltName
, um ihre Hosts zu identifizieren. Weitere Diskussionen finden Sie hier und Bug Tracker hier . In der VergangenheitsubjectAltName
wurde es nur für Multi-Host-Zertifikate verwendet, sodass einige interne CA-Tools diese nicht enthalten.Wenn Ihre selbstsignierten Zertifikate in der Vergangenheit einwandfrei funktionierten, aber plötzlich Fehler in Chrome 58 generierten, ist dies der Grund.
Unabhängig davon, mit welcher Methode Sie Ihr selbstsigniertes Zertifikat (oder das von einer selbstsignierten Zertifizierungsstelle signierte Zertifikat) generieren, stellen Sie sicher, dass das Serverzertifikat ein
subjectAltName
mit dem richtigenDNS
und / oderIP
Eintrag / Einträgen enthält, auch wenn es nur für einen einzelnen Host gilt .Für openssl bedeutet dies, dass Ihre OpenSSL-Konfiguration (
/etc/ssl/openssl.cnf
unter Ubuntu) für einen einzelnen Host Folgendes haben sollte:oder für mehrere Hosts:
In Chrome cert - Viewer (die Registerkarte „Sicherheit“ unter F12 bewegt hat) sollten Sie es sehen unter aufgeführt
Extensions
alsCertificate Subject Alternative Name
:quelle
New-SelfSignedCertificate -DnsName localhost -CertStoreLocation cert:\LocalMachine\My
/etc/opt/chrome/policies/managed/EnableCommonNameFallbackForLocalAnchors.json
mit folgenden Inhalten:{ "EnableCommonNameFallbackForLocalAnchors": true }
Extensions
alsCertificate Subject Alternative Name
“. Ich sehe keinen Abschnitt "Erweiterungen", wenn ich die Registerkarte "Sicherheit" in den F12-Entwicklungstools (Chrome 62) aufrufe. Wurde es an einen anderen Ort verlegt?Auf dem Mac können Sie das Dienstprogramm "Schlüsselbundzugriff" verwenden, um das selbstsignierte Zertifikat zum Systemschlüsselbund hinzuzufügen. Chrome akzeptiert es dann. Ich habe die Schritt-für-Schritt-Anleitung hier gefunden:
Google Chrome, Mac OS X und selbstsignierte SSL-Zertifikate
Grundsätzlich:
quelle
Always Trust
SSL" gesetzt. Grundsätzlich, was @NeDark gesagt hat.Klicken Sie auf eine beliebige Stelle auf der Seite und geben Sie BYPASS_SEQUENCE ein
"
thisisunsafe
" ist eine BYPASS_SEQUENCE für Chrome Version 65"
badidea
" Chrome Version 62 - 64."
danger
" funktionierte früher in früheren Versionen von ChromeSie müssen nicht nach einem Eingabefeld suchen, sondern geben es einfach ein. Es fühlt sich seltsam an, aber es funktioniert.
Ich habe es auf Mac High Sierra versucht.
Um zu überprüfen, ob sie es erneut geändert haben, gehen Sie zu Neuester Chrom- Quellcode
Um nach BYPASS_SEQUENCE zu suchen, sieht es im Moment so aus:
Jetzt haben sie es getarnt, aber um die echte BYPASS_SEQUENCE zu sehen, können Sie die folgende Zeile in einer Browserkonsole ausführen.
quelle
thisisunsafe
thisisunsafe
scheint die Eingabe nur das Hinzufügen dieser Site zu den Ausnahmen zu bewirken. (Die Adressleiste sagt immer noch "Nicht sicher" in rot.)Linux
Wenn Sie Linux verwenden, können Sie auch diesen offiziellen Wiki-Seiten folgen:
Grundsätzlich:
Mit dem folgenden Befehl wird nun das Zertifikat hinzugefügt (wobei YOUR_FILE Ihre exportierte Datei ist):
Führen Sie den folgenden Befehl aus, um alle Ihre Zertifikate aufzulisten:
Wenn es immer noch nicht funktioniert, sind Sie möglicherweise von diesem Fehler betroffen: Problem 55050: Ubuntu SSL-Fehler 8179
PS Bitte stellen Sie auch sicher, dass Sie haben
libnss3-tools
, bevor Sie die obigen Befehle verwenden können.Wenn Sie nicht haben, installieren Sie es bitte durch:
Als Bonus können Sie die folgenden praktischen Skripte verwenden:
Verwendungszweck:
Fehlerbehebung
Führen Sie Chrome mit dem
--auto-ssl-client-auth
Parameter ausgoogle-chrome --auto-ssl-client-auth
quelle
download_cert.sh
kann also einfach so sein:echo | openssl s_client -connect $1:443
Auf dem Mac können Sie ein Zertifikat erstellen, dem Chrome und Safari auf Systemebene voll vertrauen, indem Sie folgende Schritte ausführen:
In den obigen Abschnitten werden die folgenden Skripts und eine unterstützende Datei verwendet
v3.ext
, um zu vermeiden , dass beim alternativen Namen des Betreffs Fehler fehlenWenn Sie ein neues selbstsigniertes Zertifikat erstellen möchten, das mit Ihrer eigenen Root-Berechtigung vollständig vertrauenswürdig ist, können Sie dies mithilfe dieser Skripts tun.
create_root_cert_and_key.sh
create_certificate_for_domain.sh
v3.ext
Noch ein Schritt - So machen Sie die selbstsignierten Zertifikate in Chrome / Safari vollständig vertrauenswürdig
Damit die selbstsignierten Zertifikate in Chrome und Safari VOLLSTÄNDIG vertrauenswürdig sind, müssen Sie eine neue Zertifizierungsstelle in Ihren Mac importieren. Befolgen Sie dazu diese Anweisungen oder die detaillierteren Anweisungen zu diesem allgemeinen Vorgang auf der Mitmproxy-Website :
Sie können dies auf zwei Arten in der Befehlszeile mit diesem Befehl tun, der Sie zur Eingabe Ihres Kennworts auffordert:
oder mit der
Keychain Access
App:Wenn Sie Java-Clients benötigen, um den Zertifikaten zu vertrauen, können Sie dies als Bonus tun, indem Sie Ihre Zertifikate in den Java-Keystore importieren. Beachten Sie, dass dadurch das Zertifikat aus dem Keystore entfernt wird, falls es bereits vorhanden ist, da es aktualisiert werden muss, falls sich etwas ändert. Dies gilt natürlich nur für die importierten Zertifikate.
import_certs_in_current_folder_into_java_keystore.sh
quelle
$ ./create_root_cert_and_key.sh
. macOS 10.12.4 und OpenSSL 0.9.8zh 14. Januar 2016.$ openssl genrsa -out rootCA.key 2048
vor$ ./create_root_cert_and_key.sh
behebt den Fehler "Fehler beim Öffnen des privaten Schlüssels rootCA.key", auf den ich gestoßen bin.openssl req -new -newkey rsa:2048 -sha256 -nodes -key device.key -subj "$SUBJECT" -out device.csr
gibt mir den Fehler "Fehler beim Öffnen von PRivate Key device.key" Ich dachte, dieser Befehl sollte erstellt werdendevice.key
, aber es scheint aus irgendeinem Grund zu versuchen, ihn zu lesen-key
zu-keyout
...openssl req -new -newkey rsa:2048 -sha256 -nodes -keyout device.key -subj "$SUBJECT" -out device.csr
Klicken Sie auf der Site, die Sie hinzufügen möchten, mit der rechten Maustaste auf das rote Schlosssymbol in der Adressleiste:
Klicken Sie auf die Registerkarte Verbindung und dann auf Zertifikatinformationen
Klicken Sie auf die Details der Registerkarte, klicken Sie auf die die Schaltfläche In Datei kopieren ... . Dadurch wird der Zertifikatsexport-Assistent geöffnet. Klicken Sie auf Weiter , um zum Bildschirm Dateiformat exportieren zu gelangen .
Wählen Sie DER-codiertes binäres X.509 (.CER) und klicken Sie auf Weiter
Klicken Sie auf Durchsuchen ... und speichern Sie die Datei auf Ihrem Computer. Nennen Sie es etwas Beschreibendes. Klicken Sie auf Weiter und dann auf Fertig stellen .
Öffnen Sie die Chrome-Einstellungen, scrollen Sie nach unten und klicken Sie auf Erweiterte Einstellungen anzeigen ...
Klicken Sie unter HTTPS / SSL auf Zertifikate verwalten ...
Klicken Sie auf die Registerkarte Vertrauenswürdige Stammzertifizierungsstellen und dann auf die Schaltfläche Importieren . Dies öffnet den Zertifikatimport-Assistenten. Klicken Sie auf Weiter , um zum Bildschirm Zu importierende Datei zu gelangen .
Klicken Sie auf Durchsuchen ... und wählen Sie die zuvor gespeicherte Zertifikatdatei aus. Klicken Sie dann auf Weiter .
Wählen Sie Alle Zertifikate in den folgenden Speicher legen . Das ausgewählte Geschäft sollte Trusted Root Certification Authorities sein . Wenn dies nicht der Fall ist, klicken Sie auf Durchsuchen ... und wählen Sie es aus. Klicken Sie auf Weiter und Fertig stellen
Klicken Sie in der Sicherheitswarnung auf Ja .
Starten Sie Chrome neu.
quelle
certmgr.msc
Zertifikate hinzuzufügen und zu löschen.Wenn Sie auf einem Mac arbeiten und die Registerkarte "Exportieren" nicht sehen oder nicht wissen, wie Sie das Zertifikat erhalten, hat dies für mich funktioniert:
Klicken Sie auf "Zertifikatinformationen".
Jetzt sollten Sie Folgendes sehen:
Ziehen Sie das kleine Zertifikatsymbol auf Ihren Desktop (oder irgendwo anders).
Doppelklicken Sie auf die heruntergeladene CER-Datei. Dadurch sollte sie in Ihren Schlüsselbund importiert und der Schlüsselbundzugriff auf Ihre Zertifikatsliste geöffnet werden.
In einigen Fällen reicht dies aus und Sie können die Seite jetzt aktualisieren.
Andernfalls:
Laden Sie nun die betreffende Seite neu und das Problem sollte gelöst sein! Hoffe das hilft.
Bearbeiten von Wolph
Um dies ein wenig zu vereinfachen, können Sie das folgende Skript ( Quelle ) verwenden:
Speichern Sie das folgende Skript als
whitelist_ssl_certificate.ssh
:Machen Sie das Skript ausführbar (aus der Shell):
Führen Sie das Skript für die gewünschte Domain aus (kopieren / Einfügen der vollständigen URL funktioniert einfach):
quelle
AKTUALISIERT 23. April 2020
Empfohlen vom Chromium-Team
https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins#TOC-Testing-Powerful-Features
Schnelle super-einfache Lösung
Es gibt eine geheime Umgehungsphrase, die in die Fehlerseite eingegeben werden kann, damit Chrome trotz des Sicherheitsfehlers fortfährt : thisisunsafe (in früheren Versionen von Chrome geben Sie badidea und noch früher die Gefahr ein ). DO NOT USE THIS SOFERN SIE ERKENNEN genau , warum Sie es brauchen!
Quelle:
https://chromium.googlesource.com/chromium/src/+/d8fc089b62cd4f8d907acff6fb3f5ff58f168697%5E%21/
(HINWEIS, der
window.atob('dGhpc2lzdW5zYWZl')
in aufgelöst wirdthisisunsafe
)Die neueste Version der Quelle ist @ https://chromium.googlesource.com/chromium/src/+/refs/heads/master/components/security_interstitials/core/browser/resources/interstitial_large.js und die
window.atob
Funktion kann in ausgeführt werden eine JS-Konsole.Hintergrundinformationen dazu, warum das Chrome-Team die Umgehungsphrase (zum ersten Mal) geändert hat:
https://bugs.chromium.org/p/chromium/issues/detail?id=581189
Wenn alles andere fehlschlägt (Lösung 1)
Für schnelle Einzelstücke, wenn die Option "Trotzdem fortfahren" nicht verfügbar ist oder die Bypass-Phrase funktioniert, funktioniert dieser Hack gut:
Zulassen von Zertifikatfehlern
localhost
durch Aktivieren dieses Flags (Hinweis Chrome muss nach dem Ändern des Flag-Werts neu gestartet werden):chrome://flags/#allow-insecure-localhost
(und Abstimmungsantwort https://stackoverflow.com/a/31900210/430128 von @Chris)
Wenn die Site, zu der Sie eine Verbindung herstellen möchten,
localhost
fertig ist , sind Sie fertig. Andernfalls richten Sie einen TCP-Tunnel ein, um Port 8090 lokal abzuhören und eine Verbindung zubroken-remote-site.com
Port 443 herzustellen. Stellen Sie sicher, dass Siesocat
Folgendes in einem Terminalfenster installiert und ausgeführt haben:socat tcp-listen:8090,reuseaddr,fork tcp:broken-remote-site.com:443
Gehen Sie in Ihrem Browser zu https: // localhost: 8090 .
Wenn alles andere fehlschlägt (Lösung 2)
Ähnlich wie bei "Wenn alles andere fehlschlägt (Lösung 1)" konfigurieren wir hier einen Proxy für unseren lokalen Dienst mit ngrok . Da Sie entweder über TLS (in diesem Fall wird es von ngrok mit einem gültigen Zertifikat beendet) oder über einen Nicht-TLS-Endpunkt auf ngrok-http-Tunnel zugreifen können, beschwert sich der Browser nicht über ungültige Zertifikate.
Laden Sie ngrok herunter, installieren Sie es und stellen Sie es dann zur Verfügung über
ngrok.io
:ngrok wird gestartet und gibt Ihnen einen Hostnamen, mit dem Sie eine Verbindung herstellen können, und alle Anforderungen werden zurück auf Ihren lokalen Computer getunnelt.
quelle
Für eine Testumgebung
Sie können es
--ignore-certificate-errors
als Befehlszeilenparameter verwenden, wenn Sie Chrome starten (Arbeiten an Version 28.0.1500.52 unter Ubuntu).Dadurch werden die Fehler ignoriert und die Verbindung ohne Vorwarnung hergestellt. Wenn bereits eine Chrome-Version ausgeführt wird, müssen Sie diese vor dem Neustart über die Befehlszeile schließen. Andernfalls wird ein neues Fenster geöffnet, die Parameter werden jedoch ignoriert.
Ich konfiguriere Intellij so, dass Chrome beim Debuggen auf diese Weise gestartet wird, da die Testserver niemals über gültige Zertifikate verfügen.
Ich würde ein normales Surfen wie dieses nicht empfehlen, da Zertifikatprüfungen ein wichtiges Sicherheitsmerkmal sind, aber dies kann für einige hilfreich sein.
quelle
Wie jemand bemerkt hat, müssen Sie ALLES von Chrome neu starten, nicht nur die Browserfenster. Der schnellste Weg, dies zu tun, besteht darin, einen Tab zu öffnen, um ...
chrome://restart
quelle
WINDOWS JUN / 2017 Windows Server 2012
Ich folgte der Antwort von @Brad Parks. Unter Windows sollten Sie rootCA.pem in den Trusted Root Certificates Authorities Store importieren.
Ich habe die folgenden Schritte ausgeführt:
Wo v3.ext ist:
In meinem Fall habe ich dann eine selbst gehostete Web-App, daher muss ich das Zertifikat mit der IP-Adresse und dem Port binden. Das Zertifikat sollte sich in MEINEM Geschäft mit Informationen zum privaten Schlüssel befinden, also habe ich es in das pfx-Format exportiert.
Mit der mmc-Konsole (Datei / Snap-Ins hinzufügen / entfernen / Zertifikate / Konto hinzufügen / Computert / LocalComputer / OK) habe ich die pfx-Datei in den Personal Store importiert.
Später habe ich diesen Befehl verwendet, um das Zertifikat zu binden (Sie können auch das Tool HttpConfig verwenden):
certhash = Zertifikat Thumprint
appid = GUID (Ihre Wahl)
Zuerst habe ich versucht, das Zertifikat "device.crt" auf verschiedenen Arten in vertrauenswürdige Stammzertifizierungsstellen zu importieren, aber es wird immer noch der gleiche Fehler angezeigt:
Aber mir wurde klar, dass ich ein Zertifikat der Stammautorität importieren sollte, kein Zertifikat für die Domäne. Also habe ich die mmc-Konsole verwendet (Datei / Snap-Ins hinzufügen oder entfernen / Zertifikate / Konto hinzufügen / Computert / LocalComputer / OK). Ich habe rootCA.pem in den Trusted Root Certificates Authorities Store importiert.
Starten Sie Chrome neu und es funktioniert.
Mit localhost:
Oder mit IP-Adresse:
Das einzige, was ich nicht erreichen konnte, ist, dass es eine veraltete Chiffre hat (rotes Quadrat auf dem Bild). Hilfe wird in diesem Punkt geschätzt.
Mit makecert ist es nicht möglich, SAN-Informationen hinzuzufügen. Mit New-SelfSignedCertificate (Powershell) können Sie SAN-Informationen hinzufügen, es funktioniert auch.
quelle
netsh http
Schritt nur, wenn Sie Windows Server verwenden. Ich denke auch nicht, dass es notwendig ist, die Zertifikatsdatei nach pfx zu exportieren.Fügen Sie das CA-Zertifikat im vertrauenswürdigen Stamm-CA-Speicher hinzu.
Gehe zu Chrome und aktiviere diese Flagge!
chrome://flags/#allow-insecure-localhost
Verwenden Sie zum Schluss einfach die * .me-Domain oder gültige Domains wie * .com und * .net und pflegen Sie diese in der Hostdatei. Für meine lokalen Entwickler verwende ich * .me oder * .com mit einer Hostdatei, die wie folgt verwaltet wird:
Zum Host hinzufügen. C: / windows / system32 / drivers / etc / hosts
127.0.0.1 nextwebapp.me
Hinweis: Wenn der Browser dabei bereits geöffnet ist, wird der Fehler weiterhin angezeigt. Schließen Sie also bitte den Browser und starten Sie erneut. Besser noch, gehen Sie inkognito oder starten Sie eine neue Sitzung für sofortige Wirkung.
quelle
Sind Sie sicher, dass die Adresse, auf der die Site bereitgestellt wird, mit dem Zertifikat übereinstimmt? Ich hatte die gleichen Probleme mit Chrome und einem selbstsignierten Zertifikat, aber am Ende fand ich, dass die Validierung des Domainnamens auf dem Zertifikat (wie es sein sollte) unglaublich wählerisch war.
Chrome hat keinen eigenen Zertifikatspeicher und verwendet den eigenen von Windows. Chrome bietet jedoch keine Möglichkeit, Zertifikate in den Store zu importieren. Sie sollten sie stattdessen über den Internet Explorer hinzufügen.
Installieren von Zertifikaten in Google Chrome
Installieren von Zertifikaten in Internet Explorer
Schauen Sie sich auch einige verschiedene Ansätze zum Erstellen selbstsignierter Zertifikate an (ich gehe davon aus, dass Sie IIS verwenden, wie Sie nicht erwähnt haben).
So erstellen Sie ein selbstsigniertes Zertifikat in IIS 7
quelle
Ich habe den von bjnord vorgeschlagenen Prozess durchlaufen: Google Chrome, Mac OS X und selbstsignierte SSL-Zertifikate
Was im Blog gezeigt wird, hat nicht funktioniert.
Einer der Kommentare zum Blog war jedoch Gold:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain site.crt
Sie müssen dem Blog folgen, um zu erfahren, wie Sie die Zertifizierungsdatei erhalten. Danach können Sie den obigen Befehl verwenden und sollten bereit sein.
quelle
Die GUI zum Verwalten von SSL-Zertifikaten unter Chromium unter Linux funktionierte bei mir NICHT richtig. Ihre Dokumente gaben jedoch die richtige Antwort. Der Trick bestand darin, den folgenden Befehl auszuführen, der das selbstsignierte SSL-Zertifikat importiert. Aktualisieren Sie einfach den Namen des
<certificate-nickname>
undcertificate-filename.cer
und starten Sie Chrom / Chrom neu.Aus den Dokumenten:
Auszug aus: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux_cert_management.md
quelle
Filippo Valsorda hat ein plattformübergreifendes Tool geschrieben,
mkcert
um dies für viele Trust Stores zu tun . Ich nehme an, er hat es aus dem gleichen Grund geschrieben, aus dem es so viele Antworten auf diese Frage gibt: Es ist mühsam, das Richtige für SubjectAltName-Zertifikate zu tun, die von einer vertrauenswürdigen Stammzertifizierungsstelle signiert wurden.mkcert
ist in den wichtigsten Paketverwaltungssystemen für Windows, MacOS und verschiedene Linux-Varianten enthalten.quelle
Wenn Sie auf das kleine durchgestrichene Schlosssymbol neben der URL klicken, wird folgende Box angezeigt:
Nach dem Klicken auf die Link Zertifikatinformationen , wird der folgende Dialog angezeigt:
Hier erfahren Sie, welcher Zertifikatspeicher der richtige ist. Es handelt sich um den Speicher für vertrauenswürdige Stammzertifizierungsstellen .
Sie können entweder eine der in den anderen Antworten beschriebenen Methoden verwenden, um das Zertifikat zu diesem Speicher hinzuzufügen, oder Folgendes verwenden:
ROOT
ist der interne Name des zuvor erwähnten Zertifikatspeichers.cert.pem
ist der Name Ihres selbstsignierten Zertifikats.quelle
certutil -addstore -user "ROOT" cert.pem
ist Windows?Trusted Root Certification Authorities
aber es bleibt immer noch ein Problem: imgur.com/a/mjlglVz imgur.com/a/n8BFH5S Windows 10, Chrome 78Das hat bei mir funktioniert. Siehe: http://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates/#.Vcy8_ZNVhBc
Klicken Sie in der Adressleiste auf das kleine Schloss mit dem X. Dadurch wird ein kleiner Informationsbildschirm angezeigt. Klicken Sie auf die Schaltfläche "Zertifikatinformationen".
Klicken Sie auf das Bild und ziehen Sie es auf Ihren Desktop. Es sieht aus wie ein kleines Zertifikat.
Doppelklicken Sie darauf. Dadurch wird das Dienstprogramm für den Schlüsselbundzugriff aufgerufen. Geben Sie Ihr Passwort ein, um es zu entsperren.
Stellen Sie sicher, dass Sie das Zertifikat zum Systemschlüsselbund hinzufügen, nicht zum Anmeldeschlüsselbund. Klicken Sie auf "Immer vertrauen", obwohl dies anscheinend nichts bewirkt.
Doppelklicken Sie nach dem Hinzufügen darauf. Möglicherweise müssen Sie sich erneut authentifizieren.
Erweitern Sie den Abschnitt "Vertrauen".
"Wenn Sie dieses Zertifikat verwenden", setzen Sie es auf "Immer vertrauen".
quelle
Ich habe alles versucht und was hat es funktioniert: Wählen Sie beim Importieren die richtige Kategorie aus, nämlich Trusted Root Certificate Authorities :
(Entschuldigung, es ist deutsch, aber folge einfach dem Bild)
quelle
quelle
Dieser Beitrag ist bereits mit Antworten überflutet, aber ich habe ein Bash-Skript basierend auf einigen anderen Antworten erstellt, um das Generieren eines in Chrome gültigen selbstsignierten TLS-Zertifikats (getestet in
Chrome 65.x
) zu vereinfachen . Hoffe, es ist nützlich für andere.Vergessen Sie nach der Installation ( und dem Vertrauen ) des Zertifikats nicht, Chrome (
chrome://restart
) neu zu starten.Ein weiteres Tool, das einen Besuch wert ist, ist das CloudFlare-
cfssl
Toolkit:quelle
Starten Sie Powershell mit erhöhten Berechtigungen und geben Sie Folgendes ein, um in Windows ein selbstsigniertes Zertifikat zu erstellen, dem Chrome v58 und höher vertraut.
Sobald Sie dies getan haben, wird das Zertifikat auf den lokalen Computerzertifikaten im Speicher Personal \ Certificates gespeichert.
Sie möchten dieses Zertifikat in den Speicher Trusted Root Certification Authorities \ Certificates kopieren .
Eine Möglichkeit, dies zu tun: Klicken Sie auf die Windows-Startschaltfläche und geben Sie ein
certlm.msc
. Ziehen Sie das neu erstellte Zertifikat dann per Drag & Drop in den Speicher für vertrauenswürdige Stammzertifizierungsstellen \ Zertifikate ( siehe Abbildung unten).quelle
SSL / HTTPS localhost Fix auf dem Mac / OSX:
Klicken Sie auf das rote Schloss mit dem Kreuz in Ihrer Adressleiste, wenn Sie versuchen, Ihre https localhost-Umgebung zu öffnen. Es öffnet sich ein Fenster mit einigen Informationen zum Zertifikat.
Klicken Sie auf das Informationsfenster "Details"
Fügen Sie es Ihrem 'System'-Schlüsselbund hinzu (nicht Ihrem' Login'-Schlüsselbund, der standardmäßig ausgewählt ist).
Öffnen Sie Ihren Schlüsselbund (erneut) und suchen Sie das Zertifikat. Klicken Sie darauf und stellen Sie sicher, dass Sie allen "vertrauen".
Starten Sie Chrome neu und es sollte funktionieren.
quelle
security import filename.pem -k ~/Library/Keychains/login.keychain
. Die Grafik gibt einen Fehler -25294Ich hatte das gleiche Problem: Ich hatte das Zertifikat im Windows Trusted Root Authorities Store installiert, und Chrome lehnte das Zertifikat mit dem Fehler weiterhin ab
ERR_CERT_COMMON_NAME_INVALID
. Beachten Sie, dass der Fehler auftritt, wenn das Zertifikat nicht ordnungsgemäß im Store installiert istERR_CERT_AUTHORITY_INVALID
.Wie der Name des Fehlers, dieser Kommentar und diese Frage andeuten , lag das Problem im deklarierten Domänennamen im Zertifikat. Als ich beim Generieren des Zertifikats zur Eingabe des "Common Name" aufgefordert wurde, musste ich den Domainnamen eingeben, den ich für den Zugriff auf die Site verwendet habe (
localhost
in meinem Fall). Ich habe Chrome mit neu gestartetchrome://restart
und es war endlich zufrieden mit diesem neuen Zertifikat.quelle
--allow-insecure-localhost
Ab Chrome 58+ wurde unter macOS ein Zertifikatfehler angezeigt, da das SAN fehlte. Hier erfahren Sie, wie Sie das grüne Schloss in der Adressleiste wieder aktivieren.
Generieren Sie ein neues Zertifikat mit dem folgenden Befehl:
Importieren Sie das
server.crt
in Ihre KeyChain, doppelklicken Sie dann in das Zertifikat, erweitern Sie die Vertrauensstellung und wählen Sie Immer vertrauenAktualisieren Sie die Seite https://domain.dev in Google Chrome, damit die grüne Sperre wieder verfügbar ist.
quelle
api.domain.dev
aber ich habe immer noch eine Warnseite zudomain.dev
:This server could not prove that it is domain.dev; its security certificate is from *.domain.dev. This may be caused by a misconfiguration or an attacker intercepting your connection.
Irgendeine Idee?Wenn Sie für Chrome unter MacOS ein Zertifikat vorbereitet haben:
quelle
Das Erlauben von unsicherem localhost funktioniert einwandfrei über diese Methode chrome: // flags / # allow-unsicheres-localhost
Nur dass Sie Ihren Entwicklungshostnamen für xxx.localhost erstellen müssen.
quelle