Entwickler und IT-Administratoren müssen zweifellos eine Website über HTTPS mithilfe eines SSL-Zertifikats bereitstellen. Während dieser Prozess für einen Produktionsstandort ziemlich einfach ist, müssen Sie zum Zwecke der Entwicklung und des Testens möglicherweise auch hier ein SSL-Zertifikat verwenden.
Alternativ zum Kauf und zur Erneuerung eines jährlichen Zertifikats können Sie die Fähigkeit Ihres Windows Servers nutzen, ein selbstsigniertes Zertifikat zu erstellen, das bequem und einfach ist und diese Anforderungen perfekt erfüllen sollte.
Erstellen eines selbstsignierten Zertifikats in IIS
Es gibt verschiedene Möglichkeiten, ein selbstsigniertes Zertifikat zu erstellen. Wir verwenden jedoch das SelfSSL-Dienstprogramm von Microsoft. Leider wird dies nicht mit IIS geliefert, ist jedoch als Teil des IIS 6.0 Resource Toolkit frei verfügbar (Link am Ende dieses Artikels). Trotz des Namens "IIS 6.0" funktioniert dieses Dienstprogramm in IIS 7 einwandfrei.
Sie müssen lediglich IIS6RT extrahieren, um das Dienstprogramm selfssl.exe abzurufen. Von hier aus können Sie es in Ihr Windows-Verzeichnis oder in einen Netzwerkpfad / ein USB-Laufwerk kopieren, um es später auf einem anderen Computer zu verwenden (Sie müssen also nicht den vollständigen IIS6RT herunterladen und extrahieren).
Wenn Sie das SelfSSL-Dienstprogramm eingerichtet haben, führen Sie den folgenden Befehl (als Administrator) aus und ersetzen Sie die Werte in <> entsprechend:
selfssl / N: CN = <your.domain.com> / V: <Anzahl gültiger Tage>
Im folgenden Beispiel wird ein selbstsigniertes Platzhalterzertifikat für "mydomain.com" erstellt und für 9.999 Tage gültig. Wenn Sie auf die Eingabeaufforderung mit Ja antworten, wird dieses Zertifikat automatisch so konfiguriert, dass es an Port 443 auf der Standardwebsite von IIS gebunden wird.
Während das Zertifikat zu diesem Zeitpunkt einsatzbereit ist, wird es nur im persönlichen Zertifikatspeicher auf dem Server gespeichert. Es wird empfohlen, dieses Zertifikat auch im vertrauenswürdigen Stammverzeichnis festzulegen.
Gehen Sie zu Start> Ausführen (oder Windows-Taste + R) und geben Sie "mmc" ein. Möglicherweise erhalten Sie eine UAC-Eingabeaufforderung, akzeptieren diese und eine leere Verwaltungskonsole wird geöffnet.
Gehen Sie in der Konsole zu Datei> Snap-In hinzufügen / entfernen.
Fügen Sie Zertifikate von der linken Seite hinzu.
Wählen Sie Computerkonto.
Wählen Sie Lokaler Computer.
Klicken Sie auf OK, um den lokalen Zertifikatspeicher anzuzeigen.
Navigieren Sie zu Persönlich> Zertifikate und suchen Sie das Zertifikat, das Sie mit dem SelfSSL-Dienstprogramm eingerichtet haben. Klicken Sie mit der rechten Maustaste auf das Zertifikat und wählen Sie Kopieren.
Navigieren Sie zu Vertrauenswürdige Stammzertifizierungsstellen> Zertifikate. Klicken Sie mit der rechten Maustaste auf den Ordner Zertifikate und wählen Sie Einfügen.
Ein Eintrag für das SSL-Zertifikat sollte in der Liste angezeigt werden.
Zu diesem Zeitpunkt sollte Ihr Server keine Probleme mit der Arbeit mit dem selbstsignierten Zertifikat haben.
Zertifikat exportieren
Wenn Sie auf eine Site zugreifen, die das selbstsignierte SSL-Zertifikat auf einem Clientcomputer verwendet (dh auf einem Computer, der nicht der Server ist), sollte das selbstsignierte Zertifikat installiert werden, um einen möglichen Ansturm von Zertifikatfehlern und Warnungen zu vermeiden auf jedem der Client-Computer (auf die wir weiter unten näher eingehen werden). Dazu müssen wir zuerst das entsprechende Zertifikat exportieren, damit es auf den Clients installiert werden kann.
Navigieren Sie in der Konsole mit geladener Zertifikatverwaltung zu Vertrauenswürdige Stammzertifizierungsstellen> Zertifikate. Suchen Sie das Zertifikat, klicken Sie mit der rechten Maustaste und wählen Sie Alle Aufgaben> Exportieren.
Wenn Sie aufgefordert werden, den privaten Schlüssel zu exportieren, wählen Sie Ja. Weiter klicken.
Übernehmen Sie die Standardauswahl für das Dateiformat und klicken Sie auf Weiter.
Geben Sie ein Passwort ein. Dies wird zum Schutz des Zertifikats verwendet und Benutzer können es nicht lokal importieren, ohne dieses Kennwort einzugeben.
Geben Sie einen Speicherort für den Export der Zertifikatdatei ein. Es wird im PFX-Format sein.
Bestätigen Sie Ihre Einstellungen und klicken Sie auf Fertig stellen.
Die resultierende PFX-Datei wird auf Ihren Client-Computern installiert, um ihnen mitzuteilen, dass Ihr selbstsigniertes Zertifikat von einer vertrauenswürdigen Quelle stammt.
Bereitstellung auf Client-Computern
Sobald Sie das Zertifikat auf der Serverseite erstellt haben und alles funktioniert, stellen Sie möglicherweise fest, dass eine Zertifikatwarnung angezeigt wird, wenn ein Clientcomputer eine Verbindung zur jeweiligen URL herstellt. Dies liegt daran, dass die Zertifizierungsstelle (Ihr Server) keine vertrauenswürdige Quelle für SSL-Zertifikate auf dem Client ist.
Sie können durch die Warnungen klicken und auf die Site zugreifen. Möglicherweise erhalten Sie jedoch wiederholte Benachrichtigungen in Form einer hervorgehobenen URL-Leiste oder wiederholte Zertifikatswarnungen. Um diese Störung zu vermeiden, müssen Sie lediglich das benutzerdefinierte SSL-Sicherheitszertifikat auf dem Clientcomputer installieren.
Je nach verwendetem Browser kann dieser Vorgang variieren. IE und Chrome lesen beide aus dem Windows-Zertifikatspeicher. Firefox verfügt jedoch über eine benutzerdefinierte Methode zum Behandeln von Sicherheitszertifikaten.
Wichtige Notiz: Du solltest noch nie Installieren Sie ein Sicherheitszertifikat von einer unbekannten Quelle. In der Praxis sollten Sie ein Zertifikat nur lokal installieren, wenn Sie es generiert haben. Für keine legitime Website müssen Sie diese Schritte ausführen.
Internet Explorer & Google Chrome - Lokale Installation des Zertifikats
Hinweis: Auch wenn Firefox den nativen Windows-Zertifikatspeicher nicht verwendet, wird dies dennoch empfohlen.
Kopieren Sie das vom Server exportierte Zertifikat (die PFX-Datei) auf den Clientcomputer oder stellen Sie sicher, dass es in einem Netzwerkpfad verfügbar ist.
Öffnen Sie die lokale Zertifikatspeicherverwaltung auf dem Clientcomputer mit genau den gleichen Schritten wie oben. Sie werden schließlich auf einem Bildschirm wie dem folgenden landen.
Erweitern Sie auf der linken Seite Zertifikate> Vertrauenswürdige Stammzertifizierungsstellen. Klicken Sie mit der rechten Maustaste auf den Ordner Zertifikate und wählen Sie Alle Aufgaben> Importieren.
Wählen Sie das Zertifikat aus, das lokal auf Ihren Computer kopiert wurde.
Geben Sie das Sicherheitskennwort ein, das beim Exportieren des Zertifikats vom Server zugewiesen wurde.
Das Geschäft "Trusted Root Certification Authorities" sollte als Ziel vorab ausgefüllt werden. Weiter klicken.
Überprüfen Sie die Einstellungen und klicken Sie auf Fertig stellen.
Sie sollten eine Erfolgsmeldung sehen.
Aktualisieren Sie Ihre Ansicht des Ordners Vertrauenswürdige Stammzertifizierungsstellen> Zertifikate, und Sie sollten das selbstsignierte Zertifikat des Servers im Store sehen.
Wenn dies erledigt ist, sollten Sie in der Lage sein, zu einer HTTPS-Site zu navigieren, die diese Zertifikate verwendet, und keine Warnungen oder Eingabeaufforderungen erhalten.
Firefox - Ausnahmen zulassen
Firefox behandelt diesen Vorgang etwas anders, da keine Zertifikatinformationen aus dem Windows Store gelesen werden. Anstatt Zertifikate (per se) zu installieren, können Sie Ausnahmen für SSL-Zertifikate an bestimmten Standorten definieren.
Wenn Sie eine Site mit einem Zertifikatfehler besuchen, erhalten Sie eine Warnung wie die folgende. Der blaue Bereich benennt die jeweilige URL, auf die Sie zugreifen möchten. Um eine Ausnahme zu erstellen, um diese Warnung unter der jeweiligen URL zu umgehen, klicken Sie auf die Schaltfläche Ausnahme hinzufügen.
Klicken Sie im Dialogfeld Sicherheitsausnahme hinzufügen auf Sicherheitsausnahme bestätigen, um diese Ausnahme lokal zu konfigurieren.
Beachten Sie, dass Sie möglicherweise mehrere Sicherheitswarnmeldungen erhalten, wenn eine bestimmte Site von sich aus zu Subdomains umleitet (wobei sich die URL jedes Mal geringfügig unterscheidet). Fügen Sie mit den gleichen Schritten wie oben Ausnahmen für diese URLs hinzu.
Fazit
Es lohnt sich, den obigen Hinweis zu wiederholen, den Sie sollten noch nie Installieren Sie ein Sicherheitszertifikat von einer unbekannten Quelle. In der Praxis sollten Sie ein Zertifikat nur lokal installieren, wenn Sie es generiert haben. Für keine legitime Website müssen Sie diese Schritte ausführen.