Faire en sorte que Chrome accepte le certificat localhost auto-signé

J'ai créé un certificat SSL auto-signé pour le CN localhost. Firefox accepte ce certificat après s'en être plaint au départ, comme prévu. Chrome et IE, en revanche, refusent de l'accepter, même après avoir ajouté le certificat au magasin de certificats du système sous Trusted Roots. Bien que le certificat soit répertorié comme étant correctement installé lorsque je clique sur " Afficher les informations du certificat " dans la fenêtre contextuelle HTTPS de Chrome, ce dernier insiste toujours sur le fait que le certificat n'est pas fiable.

Que dois-je faire pour que Chrome accepte le certificat et cesse de s'en plaindre ?

Sur le Mac, vous pouvez utiliser l'utilitaire Keychain Access pour ajouter le certificat auto-signé au trousseau du système, et Chrome l'acceptera alors. J'ai trouvé les instructions étape par étape ici :

[Google Chrome, Mac OS X et les certificats SSL auto-signés][1]

En gros :

  1. double-cliquez sur l'icône du verrou avec un X et faites glisser l'icône du certificat sur le bureau,
  2. ouvrez ce fichier (se terminant par une extension .cer) ; cela ouvre l'application trousseau de clés qui vous permet d'approuver le certificat.

[1] : http://www.robpeck.com/2010/10/google-chrome-mac-os-x-and-self-signed-ssl-certificates/

Commentaires (15)

Linux

Si vous utilisez Linux, vous pouvez également suivre ces pages wiki officielles :

  • [Configuration des certificats SSL sous Linux][1]
  • [NSS Shared DB et LINUX][2]
  • [NSS Shared DB Howto] [3]

En gros :

  • cliquez sur l'icône du verrou avec un X,
  • choisissez Informations sur le certificat
  • aller à l'onglet Détails
  • Cliquez sur Exporter... (enregistrer dans un fichier)

Maintenant, la commande suivante ajoutera le certificat (où VOTRE_FILE est votre fichier exporté) :

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

Pour lister tous vos certificats, exécutez la commande suivante :

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

Si cela ne fonctionne toujours pas, vous pourriez être affecté par ce bogue : [Issue 55050 : Ubuntu SSL error 8179] [4]

P.S. Veuillez également vous assurer que vous avez libnss3-tools, avant de pouvoir utiliser les commandes ci-dessus.

Si vous ne l'avez pas, veuillez l'installer par :

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

En bonus, vous pouvez utiliser les scripts pratiques suivants :

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

Utilisation :

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

Dépannage

Commentaires (2)

Êtes-vous sûr que l'adresse sous laquelle le site est affiché est la même que celle du certificat ? J'ai eu les mêmes problèmes avec Chrome et un certificat auto-signé, mais au final, j'ai découvert qu'il était juste incroyablement pointilleux sur la validation du nom de domaine sur le certificat (comme il se doit).

Chrome ne dispose pas de son propre magasin de certificats et utilise celui de Windows. Cependant, Chrome n'offre aucun moyen d'importer des certitudes dans le magasin, vous devez donc les ajouter via IE.

[Installation de certificats dans Google Chrome][1]

[Installation de certificats dans Internet Explorer] [2].

Jetez également un coup d'œil à cette page pour découvrir deux approches différentes de la création de certificats auto-signés (je suppose que vous utilisez IIS, car vous ne l'avez pas mentionné).

[Comment créer un certificat auto-signé dans IIS 7][3]

[1] : http://www.poweradmin.com/help/sslhints/Chrome.aspx [2] : http://www.poweradmin.com/help/sslhints/ie.aspx [3] : http://www.sslshopper.com/article-how-to-create-a-self-signed-certificate-in-iis-7.html

Commentaires (4)