Získanie prehliadača Chrome na akceptovanie certifikátu localhost podpísaného vlastným podpisom

Vytvoril som certifikát SSL s vlastným podpisom pre localhost CN. Firefox tento certifikát akceptuje po tom, čo sa naň spočiatku sťažoval, ako sa očakávalo. Chrome a IE ho však odmietajú prijať, a to aj po pridaní certifikátu do systémového úložiska certifikátov v časti Dôveryhodné korene. Aj keď je certifikát uvedený ako správne nainštalovaný, keď kliknem na "Zobraziť informácie o certifikáte" vo vyskakovacom okne HTTPS prehliadača Chrome', stále trvá na tom, že certifikátu nemožno dôverovať.

Čo mám urobiť, aby Chrome certifikát akceptoval a prestal sa naň sťažovať?

V počítači Mac môžete pomocou nástroja Keychain Access pridať vlastnoručne podpísaný certifikát do systémového kľúčenky a prehliadač Chrome ho potom prijme. Pokyny krok za krokom som našiel tu:

Google Chrome, Mac OS X a certifikáty SSL podpísané vlastným podpisom.

V podstate:

  1. dvakrát kliknite na ikonu zámku s písmenom X a ikonu certifikátu potiahnite na plochu,
  2. otvorte tento súbor (končí príponou .cer); otvorí sa aplikácia kľúčenky, ktorá vám umožní certifikát schváliť.
Komentáre (15)

Linux

Ak používate Linux, môžete sledovať aj tieto oficiálne stránky wiki:

V podstate:

  • kliknite na ikonu zámku s krížikom,
  • vyberte položku Informácie o certifikáte
  • prejdite na kartu Podrobnosti
  • Kliknite na Exportovať... (uložiť ako súbor)

Nasledujúci príkaz teraz pridá certifikát (kde VÁŠ_SÚBOR je váš exportovaný súbor):

certutil -d sql:$HOME/.pki/nssdb -A -t "P,," -n YOUR_FILE -i YOUR_FILE

Ak chcete zobraziť všetky svoje certifikáty, spustite nasledujúci príkaz:

certutil -d sql:$HOME/.pki/nssdb -L

Ak to stále nefunguje, môže sa vás týkať táto chyba: Issue 55050: Ubuntu SSL error 8179

P.S. Pred použitím vyššie uvedených príkazov sa tiež uistite, že máte libnss3-tools.

Ak ho nemáte, nainštalujte si ho:

sudo apt-get install libnss3-tools # on Ubuntu
sudo yum install nss-tools # on Fedora, Red Hat, etc.

Ako bonus môžete použiť nasledujúce praktické skripty:

$ 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'

Použitie:

add_cert.sh [FILE]
list_cert.sh
download_cert.sh [DOMAIN]

Riešenie problémov

  • Spustite Chrome s parametrom --auto-ssl-client-auth

    google-chrome --auto-ssl-client-auth

Komentáre (2)

Ste si istí, že adresa, na ktorej sa stránka zobrazuje, je rovnaká ako adresa certifikátu? Mal som rovnaké problémy s prehliadačom Chrome a certifikátom s vlastným podpisom, ale nakoniec som zistil, že je len neuveriteľne náročný na overovanie názvu domény v certifikáte (ako by to malo byť).

Chrome nemá vlastné úložisko certov a používa vlastné Window. Chrome však neposkytuje žiadny spôsob, ako importovať certifikáty do úložiska, takže by ste ich mali namiesto toho pridať cez IE.

Inštalácia certifikátov v prehliadači Google Chrome

Inštalácia certifikátov v prehliadači Internet Explorer

Pozrite sa aj na tento dokument, kde nájdete niekoľko rôznych prístupov k vytváraniu certifikátov s vlastným podpisom (predpokladám, že používate IIS, pretože ste sa o tom nezmienili).

Ako vytvoriť certifikát s vlastným podpisom v IIS 7

Komentáre (4)