Ik heb een zelfondertekend SSL-certificaat aangemaakt voor de localhost CN. Firefox accepteert dit certificaat nadat het er in eerste instantie over klaagde, zoals verwacht. Chrome en IE weigeren het echter te accepteren, zelfs na het toevoegen van het certificaat aan de systeemcertificaatopslag onder Trusted Roots. Hoewel het certificaat wordt vermeld als correct geïnstalleerd wanneer ik klik op "Certificaatinformatie weergeven" in Chrome's HTTPS popup, blijft het volhouden dat het certificaat niet kan worden vertrouwd.
Wat moet ik doen om ervoor te zorgen dat Chrome het certificaat accepteert en stopt met erover te klagen?
Op de Mac kunt u het hulpprogramma Toegang tot de sleutelhanger gebruiken om het zelfondertekende certificaat toe te voegen aan de sleutelhanger van het systeem, en Chrome zal het dan accepteren. Ik vond de stap-voor-stap instructies hier:
Google Chrome, Mac OS X en zelfondertekende SSL-certificaten
In principe:
Als u'Linux gebruikt, kunt u ook deze officiele wiki pagina's volgen:
In principe:
Nu zal het volgende commando het certificaat toevoegen (waarbij YOUR_FILE uw geëxporteerde bestand is):
certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n YOUR_FILE -i YOUR_FILE
Om al uw certificaten op te sommen, voert u het volgende commando uit:
certutil -d sql:$HOME/.pki/nssdb -L
Als het nog steeds niet werkt, kunt u getroffen zijn door deze bug: Issue 55050: Ubuntu SSL error 8179
P.S. Zorg er a.u.b. ook voor dat je libnss3-tools
hebt, voordat je bovenstaande commando's kunt gebruiken.
Als je dat niet hebt, installeer het dan door:
sudo apt-get install libnss3-tools # on Ubuntu
sudo yum install nss-tools # on Fedora, Red Hat, etc.
Als bonus kun je de volgende handige scripts gebruiken:
$ 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'
Gebruik:
add_cert.sh [FILE]
list_cert.sh
download_cert.sh [DOMAIN]
Chrome uitvoeren met --auto-ssl-client-auth
parameter
google-chrome --auto-ssl-client-auth
Weet je zeker dat het adres waarmee de site wordt geserveerd hetzelfde is als het certificaat? Ik had dezelfde problemen met Chrome en een zelfondertekend certificaat, maar uiteindelijk kwam ik erachter dat het gewoon ongelooflijk kieskeurig was over de validatie van de domeinnaam op het certificaat (zoals het zou moeten zijn).
Chrome heeft zijn eigen cert store niet en gebruikt die van Window's. Chrome biedt echter geen manier om certs in de winkel te importeren, dus je zou ze in plaats daarvan via IE moeten toevoegen.
Certificaten installeren in Google Chrome
Certificaten installeren in Internet Explorer
Kijk hier ook eens naar voor een paar verschillende benaderingen om zelfondertekende certs te maken (ik'neem aan dat je IIS gebruikt, aangezien je'niet hebt vermeld).