# Let's Encrypt für Windows

Certbot R3 für Windows

# Software bereitstellen und Installieren

Basierend auf dieser Quelle: [https://certbot.eff.org/instructions?ws=other&amp;os=windows](https://certbot.eff.org/instructions?ws=other&os=windows)

Download der Software: [https://github.com/certbot/certbot/releases/latest/download/certbot-beta-installer-win\_amd64\_signed.exe](https://github.com/certbot/certbot/releases/latest/download/certbot-beta-installer-win_amd64_signed.exe)

Also einmal den Certbot installer für Windows herunterladen und installieren. Um ein Zertifikat zu erhalten gibt es 2 Wege. Einmal die DNS Challenge, dabei werden in deiner DNS-Zone bei deinem DNS Provider TXT Records angelegt diese werden dann von R3 abgefragt und Validiert. Danach erhältst das Zertifikat. Das geht auch völlig automatisiert, kann aber nicht jeder DNS-Provider. Deshalb gehe ich hier den 2. Weg per HTTP Challenge. Dabei wird vom Certbot Port 80 geöffnet. R3 fragt den DNS Recort zu deinem Hostnamen ab und wenn dann der gestartete certbot von deinem Rechner antwortet ist die Authentifizierung abgeschlossen und du erhältst ein Zertifikat.

Los gehts:

Nach der Installation öffnest du eine CMD mit Administrativen rechten. Danach wechselst du in das Verzeichnis:

```bash
cd "C:\Program Files\Certbot\bin"
```

Hier sollte sich nun die Certbot.exe befinden:

[![grafik.png](https://ipv6tutorials.soika.it/uploads/images/gallery/2024-02/scaled-1680-/QCmAZk1qMowdubaB-grafik.png)](https://ipv6tutorials.soika.it/uploads/images/gallery/2024-02/QCmAZk1qMowdubaB-grafik.png)

<p class="callout info">Stellt sicher das der Port 80 auf eurem Windows Client oder Server aus dem Internet erreichbar ist. Falls ein IIS oder ähnliches läuft diesen bitte für diesen Zeitraum deaktivieren.</p>

Mit diesem Befehl wird die Challenge gestartet.

```bash
certbot certonly --email <deine-mailAdresse@example.com> -d <hostname.example.com>
```

Bei einem Erfolg sollte das Ergebnis so aussehen:

[![grafik.png](https://ipv6tutorials.soika.it/uploads/images/gallery/2024-02/scaled-1680-/zJvKUdEQ4Y6ewaUm-grafik.png)](https://ipv6tutorials.soika.it/uploads/images/gallery/2024-02/zJvKUdEQ4Y6ewaUm-grafik.png)

Unter C:\\Certbot liegt nun das Zertifikat im PEM Format vor.

[![grafik.png](https://ipv6tutorials.soika.it/uploads/images/gallery/2024-02/scaled-1680-/jdi7rbSdLpF8oWlI-grafik.png)](https://ipv6tutorials.soika.it/uploads/images/gallery/2024-02/jdi7rbSdLpF8oWlI-grafik.png)

Soweit so gut, nur kann unser Windows damit nichts anfangen. Microsoft verwendet ein anderes format für seine Zertifikate deshalb müssen wir das noch Konvertieren.

# Konvertieren mit OpenSSL

Da ich auf GitHub und auf der Offiziellen OpenSSL Webseite keinen Installer für Windows gefunden habe verwendete ich den von heise.de: [https://www.heise.de/download/product/win32-openssl-47316/download](https://www.heise.de/download/product/win32-openssl-47316/download)

Also bitte einmal runterladen und Installieren.

Nun öffnen wir wieder eine Eingabeaufforderung mit Administrativen Rechten:

Wechseln in unser Certbot Verzeichnis wo unser Zertifikat und Schlüssel liegt.

```bash
cd C:\Certbot\live\win11b.soika.click
```

Jetzt können wir das Zertifikat von PEM in PFX Konvertieren:

```bash
"C:\Program Files\OpenSSL-Win64\bin\openssl" pkcs12 -inkey privkey.pem -in fullchain.pem -export -out fullchain.pfx
```

Die Passwort Abfrage bestätige ich nur mit Enter, Enter. Also kein Passwort.

[![grafik.png](https://ipv6tutorials.soika.it/uploads/images/gallery/2024-02/scaled-1680-/h6SXIqfqPkIhXux3-grafik.png)](https://ipv6tutorials.soika.it/uploads/images/gallery/2024-02/h6SXIqfqPkIhXux3-grafik.png)

Jetzt kann das Zertifikat auf unsrem Windows Server / Client installiert werden.