Microsoft IIS (Internet Information Services) verwendet das PFX-Format für SSL-Zertifikate — anders als die PEM-Dateien, die GetHTTPS und die meisten Linux-basierten Tools erzeugen. Dieser Leitfaden behandelt die Konvertierung Ihres Zertifikats und die Installation auf IIS 10.
Voraussetzungen
- Windows Server mit installiertem IIS 10
- Zertifikatsdateien von GetHTTPS:
cert.pem,privkey.pem,chain.pem - OpenSSL installiert (im Lieferumfang von Git for Windows oder separat installieren)
Schritt 1: PEM in PFX konvertieren
IIS kann PEM-Dateien nicht direkt lesen. Konvertieren Sie mit OpenSSL in das PFX-Format:
openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem
Sie werden aufgefordert, ein Exportpasswort festzulegen — merken Sie es sich für den Importschritt.
Kein OpenSSL vorhanden? Wenn Git for Windows installiert ist, befindet sich OpenSSL unter
C:\Program Files\Git\usr\bin\openssl.exe. Oder laden Sie es von slproweb.com/products/Win32OpenSSL.html herunter.
Mehr zu Zertifikatsformaten: PEM, PFX, DER erklärt
Schritt 2: PFX in IIS importieren
- Öffnen Sie den IIS-Manager (führen Sie
inetmgraus) - Klicken Sie auf Ihren Servernamen im linken Bereich
- Doppelklicken Sie auf Serverzertifikate im mittleren Bereich
- Klicken Sie auf Importieren… im rechten Aktionsbereich
- Navigieren Sie zu Ihrer
certificate.pfx-Datei - Geben Sie das Exportpasswort aus Schritt 1 ein
- Wählen Sie den Zertifikatspeicher: Webhosting (oder Persönlich)
- Klicken Sie auf OK
Das Zertifikat erscheint nun in der Serverzertifikate-Liste.
Schritt 3: HTTPS an Ihre Website binden
- Erweitern Sie im IIS-Manager Sites im linken Bereich
- Rechtsklicken Sie auf Ihre Website → Bindungen bearbeiten…
- Klicken Sie auf Hinzufügen…
- Einstellungen:
- Typ: https
- Port: 443
- Hostname:
yourdomain.com(leer lassen für alle Hostnamen) - SSL-Zertifikat: wählen Sie das gerade importierte Zertifikat
- Klicken Sie auf OK
- Wiederholen Sie den Vorgang für
www.yourdomain.combei Bedarf
Schritt 4: HTTP zu HTTPS umleiten
Installieren Sie das URL Rewrite-Modul (falls noch nicht installiert) und fügen Sie Folgendes zur web.config Ihrer Website hinzu:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HTTP to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Schritt 5: Überprüfen
Öffnen Sie https://yourdomain.com in einem Browser. Klicken Sie auf das Schloss-Symbol, um die Zertifikatsdetails zu überprüfen.
PowerShell-Überprüfung:
# Das an Port 443 gebundene Zertifikat prüfen
netsh http show sslcert
Fehlerbehebung
„A specified logon session does not exist”
Der private Schlüssel wurde nicht korrekt importiert. Exportieren Sie die PFX-Datei erneut mit:
openssl pkcs12 -export -out certificate.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem -passout pass:IhrPasswort
Stellen Sie sicher, dass die PFX aus zusammenpassenden Schlüssel- und Zertifikatsdateien erstellt wurde.
Zertifikat erscheint nicht im Bindungs-Dropdown
Der Import ist möglicherweise stillschweigend fehlgeschlagen. Überprüfen Sie die Ereignisanzeige → Windows-Protokolle → Anwendung auf Fehler. Stellen Sie sicher, dass das PFX-Passwort korrekt ist und die Datei nicht beschädigt ist.
„This site is not secure” nach der Bindung
Überprüfen Sie, ob die Zertifikatskette vollständig ist. Die Datei chain.pem muss in der PFX-Konvertierung enthalten sein (-certfile chain.pem). Ohne sie können Browser die Vertrauenskette nicht verifizieren.
Häufig gestellte Fragen
Kann ich ein Let’s Encrypt-Zertifikat mit IIS verwenden?
Ja. Let’s Encrypt-Zertifikate funktionieren mit jedem Server, einschließlich IIS. Der einzige zusätzliche Schritt ist die Konvertierung von PEM nach PFX. GetHTTPS liefert Ihnen PEM-Dateien; der obige OpenSSL-Befehl konvertiert sie.
Gibt es ein Tool wie Certbot für IIS?
win-acme (ehemals letsencrypt-win-simple) ist der beliebteste ACME-Client für Windows/IIS. Er übernimmt Zertifikatsausstellung, PFX-Konvertierung, IIS-Bindung und automatische Erneuerung in einem Tool. Verwenden Sie ihn, wenn Sie vollautomatisches Let’s Encrypt auf IIS möchten.
Wie erneuere ich auf IIS?
- Neues Zertifikat von GetHTTPS besorgen
- In PFX konvertieren:
openssl pkcs12 -export -out new.pfx -inkey privkey.pem -in cert.pem -certfile chain.pem - Neue PFX im IIS-Manager → Serverzertifikate importieren
- Website-Bindung aktualisieren, um das neue Zertifikat zu verwenden
- Altes Zertifikat aus den Serverzertifikaten entfernen
Für automatische Erneuerung ziehen Sie win-acme in Betracht — es übernimmt den gesamten Zyklus automatisch.
Unterstützt IIS ECDSA/ECC-Zertifikate?
IIS 10 auf Windows Server 2016+ unterstützt ECDSA-Zertifikate. GetHTTPS generiert standardmäßig ECDSA P-256, das mit modernem IIS funktioniert. Ältere IIS-Versionen (8.5 und darunter) erfordern möglicherweise RSA-Zertifikate.
Kann ich IIS mit mehreren Websites auf derselben IP verwenden?
Ja. IIS 8+ unterstützt SNI (Server Name Indication), das mehrere SSL-Zertifikate auf derselben IP-Adresse ermöglicht. Aktivieren Sie beim Hinzufügen der HTTPS-Bindung „Server Name Indication erforderlich” und geben Sie den Hostnamen ein. Jede Website kann ihr eigenes Zertifikat haben.
Wie finde ich OpenSSL unter Windows?
OpenSSL ist standardmäßig nicht in Windows enthalten. Gängige Quellen:
- Git for Windows enthält es unter
C:\Program Files\Git\usr\bin\openssl.exe - Chocolatey:
choco install openssl - Win32/Win64 Builds: Download von slproweb.com
Nach der Installation fügen Sie es Ihrem PATH hinzu oder verwenden den vollständigen Pfad in Befehlen.