Utworzyłem samopodpisany certyfikat SSL dla localhost CN. Firefox akceptuje ten certyfikat po początkowej reklamacji, zgodnie z oczekiwaniami. Chrome i IE odmawiają jednak zaakceptowania go, nawet po dodaniu certyfikatu do systemowego magazynu certyfikatów w obszarze Zaufane rooty. Mimo że certyfikat jest wymieniony jako poprawnie zainstalowany po kliknięciu „Wyświetl informacje o certyfikacie” w wyskakującym okienku HTTPS Chrome, nadal nalega, aby certyfikatowi nie można było zaufać.
Co mam zrobić, aby Chrome zaakceptował certyfikat i przestał na niego narzekać?
google-chrome
ssl
certificate
self-signed
pjohansson
źródło
źródło
net::ERR_CERT_WEAK_SIGNATURE_ALGORITHM
. :Odpowiedzi:
2020-05-22 : Za pomocą tylko 6 poleceń powłoki możesz to zrobić.
Proszę nie zmieniać ustawienia przeglądarki bezpieczeństwa.
Za pomocą następującego kodu możesz (1) zostać własnym urzędem certyfikacji, (2), a następnie podpisać certyfikat SSL jako urząd certyfikacji. (3) Następnie zaimportuj certyfikat CA (nie certyfikat SSL, który trafia na twój serwer) do Chrome / Chromium. (Tak, działa to nawet w systemie Linux).
Przypomnę:
myCA.pem
jako organ w ustawieniach Chrome (Ustawienia> Zarządzaj certyfikatami> Urzędy> Importuj).crt
pliku na swoim serwerzeDodatkowe kroki (przynajmniej dla komputerów Mac):
extendedKeyUsage=serverAuth,clientAuth
poniżejbasicConstraints=CA:FALSE
i upewnij się, że ustawiłeś „CommonName” na to samo, co w$NAME
przypadku prośby o konfiguracjęMożesz sprawdzić swoją pracę
źródło
-days 825
zamiast-days 1825
powodu superuser.com/questions/1492643/... , a warto zauważyć, że importowanie cert roota w Key Chain Access, potrzebny nie tylko do „Plik > Importuj plik ”, ale także, aby znaleźć go na liście, kliknij go prawym przyciskiem myszy, rozwiń„> Ufaj ”i wybierz„ Zawsze ”.Dla
localhost
wyłącznie:Po prostu wklej to w swoim chrome:
Powinieneś zobaczyć podświetlony tekst z napisem: Zezwól na niepoprawne certyfikaty dla zasobów ładowanych z localhost
Kliknij
Enable
.źródło
To działało dla mnie:
Chrome Settings > Show advanced settings > HTTPS/SSL > Manage Certificates
.Authorities
kartę i przewiń w dół, aby znaleźć certyfikat pod nazwą organizacji nadaną certyfikatowi.Powinieneś dostać teraz ładną zieloną blokadę na swoich stronach.
EDYCJA: Próbowałem ponownie na nowym komputerze i certyfikat nie pojawił się w oknie Zarządzaj certyfikatami, przechodząc dalej od czerwonej strony niezaufanego certyfikatu. Musiałem wykonać następujące czynności:
https://
przekreślony na czerwono) kliknij blokadę> Informacje o certyfikacie. UWAGA: w nowszych wersjach Chrome musisz otworzyćDeveloper Tools > Security
i wybraćView certificate
.Details tab > Export
. WybierzPKCS #7, single certificate
jako format pliku.Authorities tab > Import
i wybierz plik, do którego eksportowałeś certyfikat, i upewnij się, że wybieraszPKCS #7, single certificate
typ pliku .źródło
Export
przycisku. Wygląda na to, że został zastąpiony cudownymCopy to file
przyciskiem. Dlaczego „eksport” nie był utrzymywany, umysł tylko bagatelizujeAKTUALIZACJA DLA CHROME 58+ (WYDANO 2017-04-19)
Począwszy od Chrome 58, możliwość identyfikacji tylko hosta
commonName
została usunięta . Certyfikaty muszą teraz służyćsubjectAltName
do identyfikowania ich hostów. Zobacz dalszą dyskusję tutaj i tracker błędów tutaj . W przeszłościsubjectAltName
był używany tylko do certyfikatów z wieloma hostami, więc niektóre wewnętrzne narzędzia CA nie zawierają ich.Jeśli Twoje samopodpisane certyfikaty działały dobrze w przeszłości, ale nagle zaczęły generować błędy w Chrome 58, właśnie dlatego.
Niezależnie od tego, jakiej metody używasz do generowania certyfikatu z podpisem własnym (lub certyfikatu podpisanego przez samopodpisany urząd certyfikacji), upewnij się, że certyfikat serwera zawiera
subjectAltName
właściwyDNS
i / lubIP
wpis / wpisy, nawet jeśli dotyczy tylko jednego hosta .W przypadku openssl oznacza to, że konfiguracja OpenSSL (
/etc/ssl/openssl.cnf
na Ubuntu) powinna mieć coś podobnego do następującego dla jednego hosta:lub dla wielu hostów:
W przeglądarce certyfikatów Chrome (która została przeniesiona do karty „Bezpieczeństwo” pod F12) powinieneś zobaczyć ją
Extensions
jakoCertificate Subject Alternative Name
:źródło
New-SelfSignedCertificate -DnsName localhost -CertStoreLocation cert:\LocalMachine\My
/etc/opt/chrome/policies/managed/EnableCommonNameFallbackForLocalAnchors.json
{ "EnableCommonNameFallbackForLocalAnchors": true }
Extensions
jakoCertificate Subject Alternative Name
„. Nie widzę żadnej sekcji „Rozszerzenia”, kiedy otwieram kartę Zabezpieczenia w narzędziach programistycznych F12 (Chrome 62). Czy został przeniesiony w inne miejsce?Na komputerze Mac możesz użyć narzędzia Dostęp do pęku kluczy, aby dodać samopodpisany certyfikat do pęku kluczy systemu, a Chrome go zaakceptuje. Tutaj znalazłem instrukcje krok po kroku:
Google Chrome, Mac OS X i certyfikaty SSL z podpisem własnym
Gruntownie:
źródło
Always Trust
na sekcję SSL. Zasadniczo to, co powiedział @NeDark.Kliknij dowolne miejsce na stronie i wpisz BYPASS_SEQUENCE
„
thisisunsafe
” to BYPASS_SEQUENCE dla przeglądarki Chrome w wersji 65„
badidea
” Wersja Chrome 62–64.„
danger
” działał we wcześniejszych wersjach ChromeNie musisz szukać pola wprowadzania, wystarczy je wpisać. To dziwne, ale działa.
Próbowałem na Mac High Sierra.
Aby dokładnie sprawdzić, czy zmienili go ponownie, przejdź do najnowszego kodu źródłowego chromu
Aby wyszukać BYPASS_SEQUENCE, w tej chwili wygląda to tak:
Teraz mają go zakamuflowane, ale aby zobaczyć prawdziwy BYPASS_SEQUENCE, możesz uruchomić następujący wiersz w konsoli przeglądarki.
źródło
thisisunsafe
thisisunsafe
wydaje się mieć wpływ tylko na dodanie tej witryny do wyjątków. (Na pasku adresu nadalLinux
Jeśli używasz Linuksa, możesz także śledzić oficjalne strony wiki:
Gruntownie:
Teraz następujące polecenie doda certyfikat (gdzie TWOJE_PLIK to eksportowany plik):
Aby wyświetlić listę wszystkich certyfikatów, uruchom następujące polecenie:
Jeśli nadal nie działa, ten błąd może dotyczyć: Problem 55050: Błąd SSL Ubuntu 8179
PS
libnss3-tools
Przed użyciem powyższych poleceń upewnij się, że masz .Jeśli nie masz, zainstaluj go poprzez:
Jako bonus możesz użyć następujących przydatnych skryptów:
Stosowanie:
Rozwiązywanie problemów
Uruchom Chrome z
--auto-ssl-client-auth
parametremgoogle-chrome --auto-ssl-client-auth
źródło
download_cert.sh
może to być po prostu:echo | openssl s_client -connect $1:443
Na komputerze Mac możesz utworzyć certyfikat, któremu w pełni ufają Chrome i Safari na poziomie systemu, wykonując następujące czynności:
Powyższe wykorzystuje poniższe skrypty i plik pomocniczy
v3.ext
, aby uniknąć błędów braku alternatywnej nazwy podmiotuJeśli chcesz utworzyć nowy samopodpisany certyfikat, który jest w pełni zaufany, korzystając z własnych uprawnień administratora, możesz to zrobić za pomocą tych skryptów.
create_root_cert_and_key.sh
create_certificate_for_domain.sh
v3.ext
Jeszcze jeden krok - jak sprawić, by samopodpisane certyfikaty były w pełni zaufane w Chrome / Safari
Aby zezwolić na pełne zaufanie do samopodpisanych certyfikatów w Chrome i Safari, musisz zaimportować nowy urząd certyfikacji na komputer Mac. Aby to zrobić, postępuj zgodnie z tymi instrukcjami lub bardziej szczegółowymi instrukcjami dotyczącymi tego ogólnego procesu na stronie internetowej mitmproxy :
Możesz to zrobić na dwa sposoby, w wierszu polecenia, używając tego polecenia, które wyświetli monit o podanie hasła:
lub za pomocą
Keychain Access
aplikacji:i jako bonus, jeśli potrzebujesz klientów Java do zaufania do certyfikatów, możesz to zrobić, importując swoje certyfikaty do magazynu kluczy Java. Uwaga: spowoduje to usunięcie certyfikatu z magazynu kluczy, jeśli już istnieje, ponieważ należy go zaktualizować na wypadek zmiany rzeczy. Oczywiście robi to tylko w przypadku importowanych certyfikatów.
import_certs_in_current_folder_into_java_keystore.sh
źródło
$ ./create_root_cert_and_key.sh
. macOS 10.12.4 i OpenSSL 0.9.8zh 14 stycznia 2016 r.$ openssl genrsa -out rootCA.key 2048
przed$ ./create_root_cert_and_key.sh
naprawia błąd „Błąd otwierania klucza prywatnego rootCA.key”, na który wpadłem.openssl req -new -newkey rsa:2048 -sha256 -nodes -key device.key -subj "$SUBJECT" -out device.csr
wyświetla komunikat o błędzie „Błąd otwierania PRivate Key device.key” Myślałem, że to polecenie powinno zostać utworzonedevice.key
, ale z jakiegoś powodu wydaje się, że próbuję je odczytać-key
na-keyout
...openssl req -new -newkey rsa:2048 -sha256 -nodes -keyout device.key -subj "$SUBJECT" -out device.csr
W witrynie, którą chcesz dodać, kliknij prawym przyciskiem myszy czerwoną ikonę kłódki na pasku adresu:
Kliknij zakładkę Połączenie , a następnie Informacje o certyfikacie
Kliknij Szczegóły kartę, kliknięcia przycisku Kopiuj do pliku ... . Otworzy się Kreator eksportu certyfikatu, kliknij Dalej, aby przejść do ekranu Format pliku eksportu .
Wybierz binarny X.509 (.CER) zakodowany w DER , kliknij Dalej
Kliknij Przeglądaj ... i zapisz plik na komputerze. Nazwij to czymś opisowym. Kliknij przycisk Dalej , a następnie kliknij przycisk Zakończ .
Otwórz ustawienia Chrome, przewiń w dół i kliknij Pokaż ustawienia zaawansowane ...
W obszarze HTTPS / SSL kliknij Zarządzaj certyfikatami ...
Kliknij zaufanych głównych urzędów certyfikacji kartę, a następnie kliknij Importuj ... przycisk. Spowoduje to otwarcie Kreatora importu certyfikatów. Kliknij przycisk Dalej, aby przejść do ekranu Plik do zaimportowania .
Kliknij Przeglądaj ... i wybierz wcześniej zapisany plik certyfikatu, a następnie kliknij Dalej .
Wybierz Umieść wszystkie certyfikaty w następującym sklepie . Wybrany sklep powinien być Zaufanym głównym urzędem certyfikacji . Jeśli nie jest, kliknij Przeglądaj ... i wybierz go. Kliknij Dalej i zakończ
Kliknij Tak na ostrzeżeniu bezpieczeństwa.
Uruchom ponownie Chrome.
źródło
certmgr.msc
dodawanie i usuwanie certyfikatów.Jeśli korzystasz z komputera Mac i nie widzisz karty eksportu ani sposobu uzyskania certyfikatu, działało to dla mnie:
Kliknij „Informacje o certyfikacie”
Teraz powinieneś zobaczyć to:
Przeciągnij tę małą ikonę certyfikatu na pulpit (lub gdziekolwiek).
Kliknij dwukrotnie pobrany plik .cer, który powinien zaimportować go do pęku kluczy i otworzyć Dostęp do pęku kluczy do listy certyfikatów.
W niektórych przypadkach to wystarczy i możesz teraz odświeżyć stronę.
Inaczej:
Ponownie załaduj stronę, o której mowa, i powinna być rozwiązana problem! Mam nadzieję że to pomoże.
Edytuj z Wolpha
Aby to trochę ułatwić, możesz użyć następującego skryptu ( źródła ):
Zapisz następujący skrypt jako
whitelist_ssl_certificate.ssh
:Ustaw skrypt jako wykonywalny (z powłoki):
Uruchom skrypt dla żądanej domeny (wystarczy skopiować / wkleić pełne adresy URL):
źródło
ZAKTUALIZOWANO 23.04.2020
Zalecane przez zespół Chromium
https://www.chromium.org/Home/chromium-security/deprecating-powerful-features-on-insecure-origins#TOC-Testing-Powerful-Features
Szybkie, super łatwe rozwiązanie
Istnieje sekretna fraza obejściowa, którą można wpisać na stronie błędu, aby Chrome nadal działał pomimo błędu bezpieczeństwa: to isssafe (we wcześniejszych wersjach Chrome wpisz badidea , a nawet wcześniej, niebezpieczeństwo ). DO NOT USE TO CHYBA dokładnie zrozumieć, dlaczego jest to potrzebne!
Źródło:
https://chromium.googlesource.com/chromium/src/+/d8fc089b62cd4f8d907acff6fb3f5ff58f168697%5E%21/
(UWAGA, że
window.atob('dGhpc2lzdW5zYWZl')
rozwiązuje tothisisunsafe
)Najnowsza wersja źródła to @ https://chromium.googlesource.com/chromium/src/+/refs/heads/master/components/security_interstitials/core/browser/resources/interstitial_large.js, a
window.atob
funkcję można wykonać w konsola JS.Aby dowiedzieć się, dlaczego zespół Chrome zmienił frazę obejściową (po raz pierwszy):
https://bugs.chromium.org/p/chromium/issues/detail?id=581189
Jeśli wszystko inne zawiedzie (rozwiązanie nr 1)
W przypadku szybkich działań jednorazowych, jeśli opcja „Kontynuuj mimo wszystko” nie jest dostępna lub fraza pomijająca nie działa, ten hack działa dobrze:
Zezwalaj na błędy certyfikatów
localhost
, włączając tę flagę (uwaga Chrome wymaga ponownego uruchomienia po zmianie wartości flagi):chrome://flags/#allow-insecure-localhost
(i odpowiedź na głosowanie https://stackoverflow.com/a/31900210/430128 autor: @Chris)
Jeśli witryna, z którą chcesz się połączyć
localhost
, jest skończona. W przeciwnym razie skonfiguruj tunel TCP do lokalnego nasłuchiwania na porcie 8090 i połącz siębroken-remote-site.com
z portem 443, upewnij się, żesocat
zainstalowałeś i uruchomiłeś coś takiego w oknie terminala:socat tcp-listen:8090,reuseaddr,fork tcp:broken-remote-site.com:443
Przejdź do https: // localhost: 8090 w przeglądarce.
Jeśli wszystko inne zawiedzie (Rozwiązanie nr 2)
Podobnie do „Jeśli wszystko inne zawiedzie (Rozwiązanie nr 1)”, tutaj konfigurujemy proxy do naszej usługi lokalnej za pomocą ngrok . Ponieważ możesz uzyskać dostęp do tuneli ngrok http za pośrednictwem TLS (w takim przypadku jest on zakończony przez ngrok z ważnym certyfikatem) lub przez punkt końcowy inny niż TLS, przeglądarka nie będzie narzekać na nieprawidłowe certyfikaty.
Pobierz i zainstaluj ngrok, a następnie ujawnij go za pomocą
ngrok.io
:ngrok uruchomi się i poda nazwę hosta, z którą można się połączyć, a wszystkie żądania zostaną tunelowane z powrotem na komputer lokalny.
źródło
Dla środowiska testowego
Możesz użyć
--ignore-certificate-errors
jako parametru wiersza polecenia podczas uruchamiania chrome (działa na wersji 28.0.1500.52 na Ubuntu).Spowoduje to, że zignoruje błędy i nawiąże połączenie bez ostrzeżenia. Jeśli masz już uruchomioną wersję Chrome, musisz ją zamknąć przed ponownym uruchomieniem z wiersza poleceń lub otworzy się nowe okno, ale zignorujesz parametry.
Konfiguruję Intellij do uruchamiania Chrome w ten sposób podczas debugowania, ponieważ serwery testowe nigdy nie mają prawidłowych certyfikatów.
Nie polecałbym jednak normalnego przeglądania w ten sposób, ponieważ kontrole certyfikatów są ważną funkcją bezpieczeństwa, ale dla niektórych może to być pomocne.
źródło
Jak ktoś zauważył, musisz ponownie uruchomić WSZYSTKIE przeglądarki Chrome, a nie tylko okna przeglądarki. Najszybszym sposobem na to jest otwarcie karty, aby ...
chrome://restart
źródło
WINDOWS JUN / 2017 Windows Server 2012
Śledziłem odpowiedź na @Brad Parks. W systemie Windows należy zaimportować plik rootCA.pem w sklepie Zaufane główne certyfikaty.
Zrobiłem następujące kroki:
Gdzie v3.ext to:
Następnie, w moim przypadku, mam własną aplikację internetową, więc muszę powiązać certyfikat z adresem IP i portem, certyfikat powinien znajdować się w MOIM sklepie z informacjami o kluczu prywatnym, więc wyeksportowałem do formatu pfx.
Za pomocą konsoli mmc (Plik / Dodaj lub usuń przystawki / Certyfikaty / Dodaj / Computert Konto / Komputer lokalny / OK) Zaimportowałem plik pfx w sklepie osobistym.
Później użyłem tego polecenia do powiązania certyfikatu (możesz także użyć narzędzia HttpConfig):
certhash = Odcisk certyfikatu
appid = GUID (twój wybór)
Najpierw próbowałem zaimportować certyfikat „device.crt” na Zaufane główne urzędy certyfikacji na różne sposoby, ale wciąż pojawia się ten sam błąd:
Ale zdałem sobie sprawę, że powinienem zaimportować certyfikat organu głównego, a nie certyfikat dla domeny. Więc użyłem konsoli mmc (Plik / Dodaj lub usuń przystawki / Certyfikaty / Dodaj / Computert Konto / Komputer lokalny / OK) Zaimportowałem rootCA.pem w sklepie Zaufane główne certyfikaty.
Uruchom ponownie Chrome i et voilà to działa.
Z localhost:
Lub z adresem IP:
Jedyne, czego nie mogłem osiągnąć, to to, że ma przestarzały szyfr (czerwony kwadrat na zdjęciu). W tej kwestii docenia się pomoc.
W makecert nie jest możliwe dodanie informacji SAN. Dzięki New-SelfSignedCertificate (Powershell) możesz dodawać informacje o sieci SAN, to także działa.
źródło
netsh http
kroku, chyba że używasz serwera Windows. Nie sądzę też, aby konieczne było eksportowanie pliku cert do pfx.Dodaj certyfikat CA w zaufanym głównym magazynie CA.
Idź do chrome i włącz tę flagę!
chrome://flags/#allow-insecure-localhost
W końcu po prostu użyj domeny * .me lub dowolnych prawidłowych domen, takich jak * .com i * .net, i zachowaj je w pliku hosta. Dla moich lokalnych programistów używam * .me lub * .com z plikiem hosta utrzymywanym w następujący sposób:
Dodaj do hosta. C: / windows / system32 / drivers / etc / hosts
127.0.0.1 nextwebapp.me
Uwaga: jeśli przeglądarka jest już otwarta, błąd będzie nadal wyświetlany. Zamknij więc przeglądarkę i zacznij od nowa. Jeszcze lepiej, przejdź incognito lub rozpocznij nową sesję, aby uzyskać natychmiastowy efekt.
źródło
Czy jesteś pewien, że adres strony jest obsługiwany, ponieważ jest taki sam jak certyfikat? Miałem te same problemy z Chrome i samopodpisanym certyfikatem, ale ostatecznie stwierdziłem, że było to bardzo wybredne w kwestii sprawdzania poprawności nazwy domeny na certyfikacie (tak jak powinno być).
Chrome nie ma własnego magazynu certyfikatów i używa własnego systemu Windows. Chrome nie umożliwia jednak importowania certyfikatów do sklepu, dlatego należy je dodać za pośrednictwem IE.
Instalowanie certyfikatów w Google Chrome
Instalowanie certyfikatów w przeglądarce Internet Explorer
Zobacz także kilka różnych podejść do tworzenia certyfikatów z podpisem własnym (zakładam, że używasz usług IIS, o których jeszcze nie wspomniałeś).
Jak utworzyć certyfikat z podpisem własnym w IIS 7
źródło
Przeszedłem proces korzystania z tego, co sugerował bjnord: Google Chrome, Mac OS X i certyfikaty SSL z podpisem własnym
To, co pokazano na blogu, nie działało.
Jednak jednym z komentarzy na blogu było złoto:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain site.crt
Będziesz musiał śledzić blog, jak uzyskać plik cert, a następnie możesz użyć powyższego polecenia i powinieneś iść.
źródło
GUI do zarządzania certyfikatami SSL na Chromium w systemie Linux NIE działał poprawnie dla mnie. Jednak ich doktorzy podali prawidłową odpowiedź. Sztuką było uruchomienie poniższej komendy, która importuje samopodpisany certyfikat SSL. Wystarczy zmienić nazwę z poniższych
<certificate-nickname>
acertificate-filename.cer
, potem restart chrom / chrom.Z Dokumentów:
Fragment: https://chromium.googlesource.com/chromium/src/+/HEAD/docs/linux_cert_management.md
źródło
Filippo Valsorda napisał narzędzie wieloplatformowe
mkcert
, aby zrobić to dla wielu sklepów zaufania. Przypuszczam, że napisał to z tego samego powodu, dla którego jest tak wiele odpowiedzi na to pytanie: trudno jest zrobić „właściwą” rzecz dla certyfikatów SubjectAltName podpisanych przez zaufany główny urząd certyfikacji.mkcert
jest zawarty w głównych systemach zarządzania pakietami dla Windows, macOS i kilku odmian Linuxa.źródło
Klikając małą przekreśloną ikonę kłódki obok adresu URL, pojawi się pole wyglądające tak:
Po kliknięciu łącza Informacje o certyfikacie zobaczysz następujące okno dialogowe:
Informuje, który magazyn certyfikatów jest właściwy, jest to sklep Zaufane główne urzędy certyfikacji .
Możesz użyć jednej z metod opisanych w innych odpowiedziach, aby dodać certyfikat do tego sklepu lub użyć:
ROOT
to wspomniana wcześniej wewnętrzna nazwa magazynu certyfikatów.cert.pem
to nazwa twojego podpisanego certyfikatu.źródło
certutil -addstore -user "ROOT" cert.pem
jest Windows?Trusted Root Certification Authorities
ale nadal pozostaje problem: imgur.com/a/mjlglVz imgur.com/a/n8BFH5S Windows 10, chrome 78To zadziałało dla mnie. Zobacz: http://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates/#.Vcy8_ZNVhBc
Na pasku adresu kliknij małą blokadę za pomocą X. Spowoduje to wyświetlenie małego ekranu informacyjnego. Kliknij przycisk z napisem „Informacje o certyfikacie”.
Kliknij i przeciągnij obraz na pulpit. Wygląda jak mały certyfikat.
Kliknij dwukrotnie. Spowoduje to wyświetlenie narzędzia Dostęp do pęku kluczy. Wprowadź hasło, aby je odblokować.
Pamiętaj, aby dodać certyfikat do pęku kluczy systemu, a nie pęku kluczy logowania. Kliknij „Zawsze ufaj”, chociaż wydaje się, że to nic nie robi.
Po dodaniu kliknij go dwukrotnie. Może być konieczne ponowne uwierzytelnienie.
Rozwiń sekcję „Zaufanie”.
„Podczas korzystania z tego certyfikatu” ustaw „Zawsze ufaj”
źródło
Próbowałem wszystkiego i co sprawiło, że działało: Podczas importowania wybierz odpowiednią kategorię, a mianowicie Zaufane główne urzędy certyfikacji :
(przepraszam, to niemiecki, ale po prostu podążaj za obrazem)
źródło
źródło
Ten post jest już zalewany odpowiedziami, ale stworzyłem skrypt bash oparty na niektórych innych odpowiedziach, aby ułatwić wygenerowanie samopodpisanego certyfikatu TLS ważnego w Chrome (testowane w
Chrome 65.x
). Mam nadzieję, że jest to przydatne dla innych.Po zainstalowaniu ( i zaufaniu ) certyfikatu nie zapomnij ponownie uruchomić Chrome (
chrome://restart
)Kolejnym narzędziem, które warto sprawdzić, jest
cfssl
zestaw narzędzi CloudFlare :źródło
Aby utworzyć samopodpisany certyfikat w systemie Windows, któremu będzie ufać Chrome w wersji 58 i nowszej, uruchom program Powershell z podwyższonymi uprawnieniami i wpisz:
Po wykonaniu tej czynności certyfikat zostanie zapisany na certyfikatach komputera lokalnego w magazynie Personal \ Certificates .
Chcesz skopiować ten certyfikat do magazynu Zaufane główne urzędy certyfikacji \ Certyfikaty .
Można to zrobić na jeden sposób: kliknij przycisk Start systemu Windows i wpisz
certlm.msc
. Następnie przeciągnij i upuść nowo utworzony certyfikat do sklepu Zaufane główne urzędy certyfikacji \ Certyfikaty zgodnie z poniższym zrzutem ekranu.źródło
Poprawka lokalnego hosta SSL / HTTPS na Mac / OSX:
Kliknij czerwoną kłódkę z krzyżykiem na pasku adresu podczas próby otwarcia środowiska lokalnego hosta https. Otworzy się okno z informacjami o certyfikacie.
Kliknij okno informacyjne „Szczegóły”
Dodaj go do pęku kluczy „System” (a nie pęku kluczy „login”, który jest domyślnie zaznaczony).
Otwórz brelok (ponownie) i znajdź certyfikat. Kliknij i upewnij się, że „Ufasz” wszystkim.
Uruchom ponownie Chrome i powinno działać.
źródło
security import filename.pem -k ~/Library/Keychains/login.keychain
. Grafika podaje błąd -25294Wystąpił ten sam problem: zainstalowałem certyfikat w sklepie „Zaufane główne urzędy systemu Windows”, a Chrome nadal z odrzuceniem certyfikatu, z błędem
ERR_CERT_COMMON_NAME_INVALID
. Pamiętaj, że gdy certyfikat nie jest poprawnie zainstalowany w sklepie, pojawia się błądERR_CERT_AUTHORITY_INVALID
.Jak sugeruje nazwa błędu, ten komentarz i to pytanie , problem leżał w zadeklarowanej nazwie domeny w certyfikacie. Gdy podczas generowania certyfikatu pojawiło się zapytanie o „nazwę zwykłą”, musiałem wprowadzić nazwę domeny, której używałem, aby uzyskać dostęp do witryny (
localhost
w moim przypadku). Uruchomiłem ponownie Chrome za pomocąchrome://restart
i ostatecznie byłem zadowolony z tego nowego certyfikatu.źródło
--allow-insecure-localhost
Począwszy od Chrome 58+ zaczęłam otrzymywać błąd certyfikatu na macOS z powodu braku SAN. Oto, jak ponownie uzyskać zieloną blokadę na pasku adresu.
Wygeneruj nowy certyfikat za pomocą następującego polecenia:
Zaimportuj
server.crt
plik do KeyChain, a następnie kliknij dwukrotnie certyfikat, rozwiń Zaufanie i wybierz Zawsze ufajOdśwież stronę https://domain.dev w Google Chrome, aby wróciła zielona blokada.
źródło
api.domain.dev
ale nadal mam stronę z ostrzeżeniem nadomain.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.
jakiś pomysł?W przypadku Chrome na MacOS, jeśli przygotowałeś certyfikat:
źródło
Umożliwianie bezpiecznego działania lokalnego hosta za pomocą tej metody chrome: // flags / # allow-insecure-localhost
Wystarczy, że musisz utworzyć nazwę hosta programistycznego dla xxx.localhost.
źródło