Comment puis-je changer mon certificat SSL IIS Express pour un certificat qui fonctionnera avec Chrome 58+?

Chrome 58 + supprime le support pour CN dans les certificats SSL, ce qui signifie (au moins sur ma machine) que les sites de navigation hébergés dans IIS Express lancent des avertissements de sécurité constants.

Comment puis-je changer mon certificat SSL IIS Express pour un certificat qui fonctionnera avec Chrom 58+?

23
demandé sur Kirill Rakhman 2017-04-28 12:39:45

5 réponses

La réponse que Chris a donnée résout le problème, merci! Parce que toute mon équipe avait ce problème, j'ai créé un petit script Powershell pour exécuter les étapes de la réponse de Chris.

Https://gist.github.com/camieleggermont/5b2971a96e80a658863106b21c479988

L'exécution de ceci en mode élevé a fait l'affaire pour moi.

22
répondu Camiel 2017-05-04 16:19:40

C'est comme ça que j'ai corrigé ça. Il peut y avoir un moyen plus facile (je suis sûr qu'il y en a!)

Étape 1 - Ouvrez Windows PowerShell (en mode admin) et générez un certificat comme ceci:

New-SelfSignedCertificate -DnsName "localhost", "localhost" -CertStoreLocation "cert:\LocalMachine\My"

Gardez l'empreinte du pouce en sécurité.

Étape 2 - Ouvrez une invite de commande (en mode admin) et exécutez ces commandes.

Le premier supprimera le certificat IIS Express actuel pour les ports 44300-44399.

for /L %i in (44300,1,44399) do netsh http delete sslcert ipport=0.0.0.0:%i

Le prochain ajoutera votre nouveau certificat à ces ports. changer l'empreinte du pouce évidemment .

for /L %i in (44300,1,44399) do netsh http add sslcert ipport=0.0.0.0:%i certhash=33459ADA4D5329673604F43A073B7F43084818A7 appid={214124cd-d05b-4309-9af9-9caa44b2b74a}

L'appid est pour IIS Express 10 je crois. Vous pouvez vérifier que votre IIS Express appid est le même que le mien en premier. Pour ce faire, faites ceci:

netsh http show sslcert

Étape 3 - redémarrez IIS Express et Chrome, puis exécutez L'un de vos sites dans Chrome.

Il vous donnera à nouveau l'avertissement de sécurité. Passez à la page puis allez dans Paramètres > Paramètres avancés, HTTPS / SSL Gérer les certificats. Ici, exportez le certificat de Personnel et importer le certificat aux autorités de certification racine de confiance (je l'ai fait comme .p7b) puis redémarrez Chrome.

Essayez à nouveau le site - vous devriez être en sécurité maintenant.

Vous pouvez également faire tout cela en dehors de Chrome dans certmgr.

Edit: étapes alternatives pour L'Étape 3 ci-dessus en utilisant certmgr:

  1. appuyez sur la touche win et tapez "certmgr" pour ouvrir le gestionnaire de cert Windows.
  2. développez Certificats-ordinateur Local > personnel > certificats et trouvez le certificat que vous juste créé (il devrait être émis à localhost et avoir une expiration d'un an à compter de la date actuelle).
  3. sélectionnez le cert et ctrl-c à copier.
  4. développez Certificats-ordinateur Local > Autorités de Certification racine de confiance > certificats et CTRL-V à coller.
37
répondu Chris 2017-05-01 18:45:02

J'utilise simplement ce paramètre jusqu'à ce qu'il soit corrigé dans Visual Studio:

Chrome://flags/#allow-insécurité-localhost

Il évite simplement d'avoir à autoriser l'exception de sécurité à chaque fois, mais il affichera toujours le SSL comme invalide (rouge) dans la barre de votre navigateur.

6
répondu JoeyZero 2017-05-02 16:58:23

La solution fournie par Chris fait l'affaire (merci!), mais finalement, cela devrait être corrigé par l'équipe visual studio. Vous pouvez voter ici afin de porter cette question à leur attention: https://developercommunity.visualstudio.com/content/problem/48596/visual-studio-2017-151-264037-crashing-during-code.html

4
répondu Sander 2017-05-01 15:07:35

Un moyen plus visuel de le réparer est d'utiliser Jexus Manager pour,

  • génère un nouveau certificat.
  • Laissez Windows (et Chrome) lui faire confiance.
  • liez - le au site.

J'ai documenté les étapes exactes dans un article de blog .

0
répondu Lex Li 2017-06-15 04:05:12