Stworzyłem samopodpisany certyfikat SSL dla localhost CN. Firefox akceptuje ten certyfikat po początkowym narzekaniu na niego, zgodnie z oczekiwaniami. Natomiast Chrome i IE nie akceptują go, nawet po dodaniu certyfikatu do systemowego magazynu certyfikatów w zakładce Trusted Roots. Nawet jeśli certyfikat jest wyświetlany jako poprawnie zainstalowany, gdy kliknę "Wyświetl informacje o certyfikacie" w wyskakującym okienku HTTPS w Chrome'ie, nadal twierdzi, że certyfikat nie może być zaufany.
Co mam zrobić, aby Chrome zaakceptował certyfikat i przestał na niego narzekać?
Na komputerze Mac możesz użyć narzędzia Keychain Access, aby dodać samopodpisany certyfikat do systemowego keychaina, a Chrome go zaakceptuje. Instrukcje krok po kroku znalazłem tutaj:
Google Chrome, Mac OS X and Self-Signed SSL Certificates.
Zasadniczo:
Jeśli używasz Linuksa, możesz również skorzystać z oficjalnych stron wiki:
Zasadniczo:
Teraz poniższe polecenie doda certyfikat (gdzie YOUR_FILE to Twój wyeksportowany plik):
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n YOUR_FILE -i YOUR_FILE
Aby wyświetlić listę wszystkich certyfikatów, wykonaj następujące polecenie:
certutil -d sql:$HOME/.pki/nssdb -L
Jeśli to nadal nie działa, możesz być dotknięty tym błędem: Issue 55050: Ubuntu SSL error 8179
P.S. Upewnij się również, że posiadasz libnss3-tools
, zanim będziesz mógł użyć powyższych komend.
Jeśli nie masz, proszę zainstaluj go przez:
sudo apt-get install libnss3-tools # on Ubuntu
sudo yum install nss-tools # on Fedora, Red Hat, etc.
Jako bonus, możesz użyć następujących poręcznych skryptów:
$ cat add_cert.sh
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n $1 -i $1
$ cat list_cert.sh
certutil -d sql:$HOME/.pki/nssdb -L # add '-h all' to see all built-in certs
$ cat download_cert.sh
echo QUIT | openssl s_client -connect $1:443 | sed -ne '/BEGIN CERT/,/END CERT/p'
Użycie:
add_cert.sh [FILE]
list_cert.sh
download_cert.sh [DOMAIN]
Uruchom Chrome z parametrem --auto-ssl-client-auth
.
google-chrome --auto-ssl-client-auth
Czy jesteś pewien, że adres, pod którym wyświetlana jest strona, jest taki sam jak w certyfikacie? Miałem te same problemy z Chrome i samopodpisanym certyfikatem, ale w końcu okazało się, że był on po prostu bardzo wybredny w kwestii walidacji nazwy domeny na certyfikacie (tak jak powinien być).
Chrome nie ma własnego sklepu z certami i używa własnego Windowsa. Jednak Chrome nie zapewnia sposobu na importowanie certów do sklepu, więc powinieneś dodać je przez IE.
Instalowanie certyfikatów w Google Chrome
Instalowanie certyfikatów w Internet Explorerze.
Spójrz także na to dla kilku różnych podejść do tworzenia self-signed certs (I'm assuming you're using IIS as you haven't mentioned).