Comment restaurer un certificat SSL IIS Express manquant?

après la mise en place de HTTPS dans IIS Express, selon des articles tels que this et this , Je ne suis pas en mesure de charger un site IIS Express en utilisant HTTPS. Dans Chrome , Je ne reçois que:

cette page Web n'est pas disponible (avec le code d'erreur "ERR_CONNECTION_RESET")

...et dans IE je ne suis qu':

Internet Explorer ne peut pas afficher la page web

...quand je suis les instructions dans ces articles.

il semble que cela soit dû au fait que le" certificat de développement IIS Express " que IIS Express installe a été automatiquement supprimé. Comment faire pour que ce certificat soit réinstallé?

108
demandé sur Chris Simmons 2013-11-18 02:24:39

6 réponses

après avoir ajouté/supprimé des programmes et choisi l'option" Réparation " sur IIS Express, le certificat a été réinstallé et je peux maintenant lancer IIS Express sites en utilisant HTTPS.

Repair IIS Express

le certificat est de retour:

IIS Express Development Certificate

et je peux maintenant lancer le site IIS Express en utilisant HTTPS:

Success!

163
répondu Chris Simmons 2013-11-18 13:08:33

pour Visual Studio 2015, IIS Express 10, Windows 10, ces options n'ont pas fonctionné pour moi. IIS Express 10 n'avait pas d'option de réparation.

j'ai réussi à résoudre le problème en utilisant la commande IisExpressAdminCmd.exe disponible à C:\Program Files (x86)\IIS Express .

à partir d'un prompt run de commande élevé:

cd C:\Program Files (x86)\IIS Express
IisExpressAdminCmd.exe setupsslUrl -url:urlToYourSite -UseSelfSigned

remplace urlToYourSite par votre url.

p.ex.

cd C:\Program Files (x86)\IIS Express
IisExpressAdminCmd.exe setupsslUrl -url:https://localhost:44387/ -UseSelfSigned

après cela je fermé IIS Express et redémarré mon site à partir de Visual Studio et il a incité à faire confiance automatiquement au certificat auto-signé.

Espère que ça aide.

102
répondu Bernie White 2016-07-06 09:16:53

parfois, cette erreur est due à un certificat différent installé pour localhost. Si tel est le cas, il n'est pas nécessaire de restaurer le certificat IIS Express. Au lieu de cela, vous pouvez faire ce qui suit pour dire à IIS Express d'utiliser votre certificat existant:

  1. ouvrir les certificats MMC snap-in comme décrit ici
  2. trouver votre certificat localhost par exemple sous Personnelle...Certicats et obtenir son empreinte:
    1. afficher la boîte de dialogue Propriétés pour le certificat localhost et trouver la propriété Thumbprint
    2. coller la valeur de l'empreinte du pouce dans le bloc-notes (ou autre) et supprimer les espaces et les caractères spéciaux au début
  3. trouvez la valeur de port de votre projet IIS Express:
    1. allez aux propriétés du projet dans Visual Studio et trouver la valeur "URL SSL", par exemple " https://localhost:44300/MyApp ".
    2. dans cet exemple 44300 est le numéro de port. Si la vôtre est différente, changez cette valeur dans les commandes suivantes.
  4. utiliser les commandes suivantes dans un prompt de commande administrative (pas Powershell):

netsh http delete sslcert ipport=0.0.0.0:44300

netsh http add sslcert ipport=0.0.0.0:44300 certhash=your_cert_hash_with_no_spaces appid= {123a1111-2222-3333-4444-bbbbcccdddee}

Le Guide dans la commande ci-dessus peut être remplacé par un autre que vous générez. Elle ne correspond à aucune valeur expresse IIS existante.

Pour de plus amples informations, voir gestion des URL de Liaison des Échecs dans IIS Express .

29
répondu explunit 2015-12-04 14:08:39

notez également que pour IIS Express de travailler avec SSL, le port utilisé doit être dans la gamme 44300 à 44399 ( http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-without-administrative-privileges ).

donc, si vous utilisez IIS Express Dans Visual Studio, assurez-vous que le port sélectionné est dans la plage requise: vs paramètre pour iis express

24
répondu Shiraz 2016-06-29 09:03:27

avec New Chrome 58, rien dans les réponses ci-dessous ne vous aidera. Je viens de passer 1 heure à désinstaller / réinstaller des certificats et essayer de trouver où est le problème.

apparemment Chrome 58 refusera le certificat parce que "missing_subjectAltName"

la solution est soit "badidea" passphrase ou si vous avez besoin d'ouvrir des popups pour la connexion, vous devez utiliser:

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

La source et le upvote appartient à: https://stackoverflow.com/a/38926117/2089232 :)

10
répondu milanio 2017-05-23 10:31:37

je voulais ajouter ceci, parce que c'est ridicule, mais peut-être que cela aidera quelqu'un. Gardez à l'esprit que je n'avais jamais ouvert mes propriétés de projet avant, donc je n'ai aucune idée de comment cela s'est produit (Je ne l'ai pas changé moi-même ou avoir l'occasion de le faire), mais dans le Projet > Propriétés > Web mon url SSL a été listée comme mon URL habituelle mais comme http au lieu de https (avait été précédemment https parce qu'il fonctionnait avant). J'ai passé en revue toutes les étapes énumérées sur cette page, désinstallé VS, puis IIS, et enfin remarqué l'erreur qui aurait dû être https://mySSLURL (mais manquait le s dans https). Une fois que j'ai changé http en https, tout a fonctionné à nouveau.

1
répondu Elijah Tate 2018-07-16 22:34:40