it-swarm.com.de

Wie kann ich einen fehlenden wiederherstellen? IIS Express SSL-Zertifikat?

Nach dem Einrichten von HTTPS in IIS Express kann ich laut Artikeln wie this und this keine IIS Express-Site mit HTTPS laden. In Chrome bekomme ich nur:

Diese Webseite ist nicht verfügbar (mit Fehlercode "ERR_CONNECTION_RESET")

... und in DH bekomme ich nur:

Internet Explorer kann die Webseite nicht anzeigen

... wenn ich den Anweisungen in diesen Artikeln folge.

Es hat den Anschein, dass dies mit der Tatsache zusammenhängt, dass das "IIS Express Development Certificate", das IIS Express automatisch installiert wird, entfernt wurde. Wie kann ich dieses Zertifikat erneut installieren?

116
Chris Simmons

Nachdem Sie zu "Programme hinzufügen/entfernen" gegangen sind und die Option "Reparieren" für IIS Express ausgewählt haben, wurde das Zertifikat erneut installiert und ich kann jetzt IIS Express-Sites mit HTTPS starten.

Repair IIS Express

Das Zertifikat ist zurück:

IIS Express Development Certificate

Und ich kann jetzt die IIS Express-Site mit HTTPS starten:

Success!

171
Chris Simmons

Bei Visual Studio 2015 IIS Express 10, Windows 10 haben diese Optionen für mich nicht funktioniert. IIS Express 10 hatte keine Reparaturoption.

Ich konnte das Problem mit dem IisExpressAdminCmd.exe-Befehl unter C:\Program Files (x86)\IIS Express lösen.

Von einem erhöhten Befehl aus Eingabeaufforderung ausführen:

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

UrlToYourSite durch Ihre URL ersetzen.

z.B.

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

Danach habe ich IIS Express geschlossen und meine Site in Visual Studio neu gestartet, und es wurde aufgefordert, das selbstsignierte Zertifikat automatisch zu vertrauen.

Hoffentlich hilft das.

117
Bernie White

Manchmal liegt dieser Fehler an einem für localhost installierten different - Zertifikat. In diesem Fall muss das Expresszertifikat IIS nicht wiederhergestellt werden. Stattdessen können Sie folgendermaßen vorgehen, um IIS Express die Verwendung Ihres vorhandenen Zertifikats anzuweisen:

  1. Öffnen Sie das Snap-In Zertifikate MMC wie beschrieben hier
  2. Finden Sie Ihr localhost-Zertifikat, z. unter Personal ... Certicates und erhalten Sie seinen Fingerabdruck:
    1. Rufen Sie den Eigenschaftendialog für das localhost-Zertifikat auf und suchen Sie die Thumbprint-Eigenschaft
    2. Fügen Sie den Fingerabdruckwert in den Editor (oder was auch immer) ein und entfernen Sie die Leerzeichen und Sonderzeichen am Anfang
  3. Ermitteln Sie den Portwert Ihres Express-Projekts IIS:
    1. Wechseln Sie zu den Projekteigenschaften in Visual Studio und suchen Sie den Wert "SSL-URL", z. " https: // localhost: 44300/MyApp ". 
    2. In diesem Beispiel ist 44300 die Portnummer. Wenn sich Ihr Wert unterscheidet, ändern Sie diesen Wert in den späteren Befehlen.
  4. Verwenden Sie die folgenden Befehle in einer Eingabeaufforderung für den Verwaltungsbefehl (nicht 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}

Die Guid im obigen Befehl kann durch eine von Ihnen generierte ersetzt werden. Er entspricht keinem vorhandenen IIS Express-Wert.

Weitere Informationen finden Sie unter Umgang mit URL-Bindungsfehlern in IIS Express .

30
explunit

Beachten Sie außerdem, dass für die Verwendung von IIS Express mit SSL der verwendete Port zwischen 44300 und 44399 liegen muss ( http://www.iis.net/learn/extensions/using-iis-express/). running-iis-express-without-administrative-privileges ).

Wenn Sie in Visual Studio IIS Express verwenden, stellen Sie sicher, dass sich der ausgewählte Port im erforderlichen Bereich befindet: vs-Einstellung für iis express

27
Shiraz

Mit dem neuen Chrome 58 hilft nichts aus den Antworten. Ich habe gerade eine Stunde damit verbracht, Zertifikate zu deinstallieren/neu zu installieren und herauszufinden, wo das Problem liegt. 

Scheinbar wird Chrome 58 das Zertifikat wegen "missing_subjectAltName" ablehnen.

Die Lösung ist entweder "badidea" Passphrase oder wenn Sie Popups für die Anmeldung öffnen müssen, müssen Sie verwenden:

chrome: // flags/# allow-insecure-localhost

Die Quelle ist und die Stimme gehört zu: https://stackoverflow.com/a/38926117/2089232 :)

11
milanio

Ich wollte das hinzufügen, weil es lächerlich ist, aber vielleicht hilft es jemandem. Denken Sie daran, dass ich meine Projekteigenschaften noch nie zuvor geöffnet hatte. Daher habe ich keine Ahnung, wie dies geschehen ist (ich habe das nicht selbst geändert oder habe die Möglichkeit dazu), aber in Projekt> Eigenschaften> Web wurde meine SSL-URL als meine übliche URL aufgeführt aber als http statt https (war vorher https, weil es vorher funktioniert hat). Ich ging alle auf dieser Seite aufgeführten Schritte durch, deinstallierte VS, dann IIS und bemerkte schließlich den Fehler, der https: // mySSLURL hätte sein sollen (aber die s in https fehlten). Sobald ich http auf https umgestellt habe, funktionierte alles wieder.

1
Elijah Tate

Sie können IIS Express 10.0 (oder welche Version auch immer) neu installieren, um das fehlende Zertifikat zu reparieren. Hier von Microsoft herunterladen

0
TetraDev