certbot mit Windows

Nachdem ich certbot unter cygwin nutzen konnte, stellte sich direkt die Frage: Ist dies überhaupt notwendig? Für mich war dies naheliegend, da ich auch Scripte im Einsatz hatte, die die neuen Zertifikate bei Bedarf direkt weiter verarbeitet haben.

Aber da Python auch unter Windows zur Verfügung steht, habe ich keinen Grund gesehen, dass dies nicht auch unter Windows funktionieren sollte. Und ein kurzer Test hat schnell erstaunlich gute Ergebnisse gezeigt:

Installation unter Windows

Zuerst wird natürlich python benötigt. Die Downloads finden sich unter https://www.python.org/downloads/windows/ und die Installation erfolgt wie unter Windows gewohnt einfach und unkompliziert ab. (Aktuell war Python 3.8.1 aktuell, welches ich für alle Anwender auf meinem Windows Server 2016 Essentials System installiert habe.)

Als nächstes erfolgt, ebenso wie unter cygwin, die Installation von certbot:

<pre class="wp-block-preformatted">pip install certbot

Die Installation lief zügig durch und nach kurzer Zeit stand mir certbot zur Verfügung. Schnell ein kleiner Test:

<pre class="wp-block-preformatted">certbot certonly --manual -d test.kneitzel.de --preferred-challenge dns

Der erste Versuch in einem Terminal ohne Adminrechte erbrachte gleich einen Fehler: Die Applikation möchte mit Adminrechten aufgerufen werden!

Also das Ganze noch einmal mit Administrativen Rechten und es kamen die gewohnten Abfragen, so wie unter anderen Systemen auch. Und nach Aufspielen des TXT Eintrags für _acme-challenge.test im DNS lief alles problemlos durch und ich hatte die Zertifikate.

Die Dateien liegen jetzt natürlich nicht wie bei Unix gewohnt unter /etc/letsencrypt sondern es wurde c:\Certbot angelegt und verwendet.

Anmerkung

Ich habe hier natürlich nur einen sehr kleinen Bereich von Certbot getestet – speziell die manuelle Erstellung/Aktualisierung von Letsencrypt Zertifikaten mit Certbot.
Certbot bietet aber einiges mehr – so sorgt Certbot in der Regel selbst für die Autorisierung (z.B. über das Hinterlegen von Dateien in einem Webserver) und das Einspielen von Zertifikaten. Dies habe ich nicht angetestet und ich kann keine Aussage dazu treffen, ob und wie dies funktionieren würde.