SSL-Zertifikat auf Windows Server mit IIS7 einrichten – Howto

In manchen Situationen ist es unerlässlich, ein SSL-Zertifikat für seine Webseite zu haben. Bei uns war es zwingend notwendig, da wir ein Impressum auf unserer COMEGU Facebookseite benötigten. Im folgenden Artikel beschreibe ich die notwendigen Schritte und Problemlösungen, um schnell und effizient ein SSL-Zertifikat auf einem Windows-Server mit IIS7 installieren zu können.

Zertifikat generieren

Zuerst besorgt man sich ein SSL-Zertifikat von einer bevorzugten Zertifizierungsstelle. In meinem Beispiel gehe ich von einem Zertifikat von Startcom aus.

Hat man den Prozess dort erfolgreich abgeschlossen, hat mein 2 Dateien. Eine domain.crt und eine domain.key. Diese beiden Dateien benötigt man, um eine Zertifikatdatei zu erstellen. “Domain” steht hier  nur als Platzhalter für die eigene Domain.

Für die Erstellung benötigt man das Tool „openSSL“. Dieses Tool wird benutzt um aus den beiden oben genannten Dateien eine „PFX“-Zertifikatdatei zu generieren. Das macht man mit folgendem Befehl in der Kommandozeile:

openssl pkcs12 -export -out domain.pfx -inkey domain.key -in domain.crt

“Domain” steht hier natürlich wieder nur als Platzhalter für die eigene Domain. Hat man diese Schritte ausgeführt, hat man ein fertiges Zertifikat, welches man nur noch importieren muss.

Zertifikat einrichten

Folgende Schritte sind nötig, um das Zertifikat produktiv einsetzen zu können.

Zertifikat importieren

Man geht zuerst in den IIS Manager. Zu finden ist dieser im Startmenü unter Verwaltung.

iis7

Als nächstes klickt man dort nun auf der linken Seite seinen Server an. Im mittleren Teil finden man dann den Eintrag „Server Certificates“.

server_certificates

Hat man den Punkt ausgewählt, sieht man entweder eine Liste seiner vorhandenen Zertifikate, oder eine leere Liste. In diesem Bildschirm wählt man nun „Import“ aus, um ein neues Zertifikat zu importieren.

import_certificate

Im sich öffnenden Dialog sucht man nun seine Zertifikatdatei (domain.pfx) raus und folgt dem Dialog.

import_certificate2

Bei Passwort gibt man das Passwort ein, welches man bei der Zertifikaterstellung eingegeben hat. Wenn man nun alles richtig gemacht, taucht das Zertifikat in der Liste auf.

server_certificates2

Damit hat man den ersten Teil schon geschafft. Nun muss man lediglich noch ein Binding für die gewünschte Seite einrichten und das Zertifikat zuweisen.

Zertifikat und Binding einrichten

Hierzu geht man nun im IIS-Manager auf die Webseite, welche das Zertifikat bekommen soll. Auf der rechten Seite kann man hier nun „Bindings“ auswählen.

bindings

Ein kleiner Dialog öffnet sich, in welchem man die bereits hinzugefügten Bindings sieht. Dort wählt man „Add“ beziehungsweise „Hinzufügen“ aus.

bindings2

In dem sich nun öffnenden Dialog wählt man die zu bindende IP aus (oder halt alle), das Zertifikat und den Port. Der Port ist standardmäßig 443. Das sollte man auch so lassen.

bindings3

Nach Klick auf OK sollte dann das https-Binding im Dialog sichtbar sein.

bindings4

Das wars schon! Wenn alles korrekt funktioniert hat, sollte deine Seite jetzt auch mit einem https:// davor erreichbar sein.

Fehler?

Manchmal klappt es aber auch nicht auf Anhieb. So war es auch bei mir. Beim Starten / Neu Starten der Webseite bekam ich immer folgende Fehlermeldung vom IIS:

The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0×80070020)

Nach langem Überlegen und Nachforschen kam mir in den Sinn, dass in der Meldung gar keine Datei gemeint ist, sondern ein Port. Der Port 443 wird nämlich manchmal schon von anderen Anwendungen belegt. (Skype, VisualSVN Server, …). Um rauszufinden, welche Programme auf dem Port hängen öffnet man eine Kommandozeile und gibt folgendes ein:

netstat –ano

Die Kommandozeile sollte als Administrator gestartet werden. In der angezeigten Liste kann man dann die ProzessID sehen, welche auf den Port zugreift. Über den Taskmanager kann man dann die Anwendung suchen. Die Ports für diese Anwendung müssen dann, je nach Programm, umkonfiguriert werden.

Danach sollte man die Webseite auch korrekt Starten können und der Zugriff über https:// funktioniert.

Ein Kommentar

  1. Sven Fichtner schrieb am 19. September 2017 um 16:23 Antworten

    Super! hat sehr gut geklappt! Vielen Dank!!!

Kommentar schreiben

  • (benötigt)
  • (benötigt)