Serverzertifikate sind jetzt nur noch 100 Tage gültig. Die Gültigkeitsdauer wird sich weiter verkürzen. Es lohnt sich also, die Erneuerung der Zertifikate automatisch ablaufen zu lassen.
Harica unterstützt die automatische Zertifikatsausstellung mit einer ACME-Schnittstelle.
Voraussetzung dafür ist, dass der Administrator über einen ACME-Account bei Harica verfügt. Dieser kann im ITM erstellt werden ()
Die Konfiguration erfolgt in einer Datei (standardmäßig /etc/letsencrypt/cli.ini), in welche wichtige Paramter festgelegt werden können, die dann nicht mehr an der Kommandozeile angegeben werden müssen. Auf diese Konfiguration kann verzichtet werden, wenn die entsprechenden Werte jedes mal beim Ausstellen eines Zertifikates in der Kommandozeile angegeben werden.
Ein Beispiel:
# Use ECC for the private key key-type = ecdsa elliptic-curve = secp384r1 # Use a 4096 bit RSA key instead of 2048 rsa-key-size = 4096 # wich authenticator to use? apache / nginx / webroot / standalone authenticator = standalone # agree to Terms of Service of the Harica-ACME-Server agree-tos = true # contact-Data of administrator email = admin.name@h2.de # ACME-Server server = https://acme-v02.harica.gr/acme/id-of-the-service/directory eab-kid = keyidofadminwithoutquotes eab-hmac-key = hmac-keyofadminwithoutquotes |
Wird ein anderer authenticator als standalone gewählt, dann kann für den entsprechenden Webserver die Zertifikatsausstellung und verarbeitung (Eintragen in Webserverkonfiguration) automatisiert werden. Voraussetzung dafür ist, dass das Webserverkonfigurationsverzeichnis für den Aufrufer von certbot beschreibbar ist. Die erforderlichen Daten für den ACME Server werden mit dem entsprechenden Account bereitgestellt.
So vorbereitet kann das erste Serverzertifikat mit einer der beiden Befehle erzeugt werden:
~# certbot run -d domains ~# certbot certonly -d domains [--pre-hook script --post-hook script --csr csr.pem] |
Die Zertifikate werden standardmäßig unter /etc/letsencrypt/live/Zertifikatsname verlinkt und stehen dort zur weiteren Verarbeitung/Verteilung zur Verfügung.
Zum Erneuern von certbot verwalteter Zertifikate dient der Befehl
~# certbot renew [--pre-hook script --post-hook script --deploy-hook script --reuse-key] |
Dieser Befehl prüft, für welche Zertifikate 2/3 der Nutzungsdauer abgelaufen sind (bzw. welche in den nächsten 30 Tagen ablaufen bei älteren certbot-Versionen) und erneuert für diese die Zertifikate. Werden keine Zertifikate erneuert, tut der Befehl nichts weiter. Er kann also regelmäßig (täglich oder wöchentlich) per cron aufgerufen werden.
Scripte, die in der Unterverzeichnissen pre, post oder deploy von /etc/letsencrypt/renewal-hooks/ abgelegt werden, werden automatisch in den entsprechenden Hooks in alphabetischer Reihenfolge ausgeführt ohne extra in der Kommandozeile angegeben zu werden.
Viele weitere nützliche Parameter sind in der Dokumentation zu certbot beschrieben: man certbot oder https://eff-certbot.readthedocs.io/en/stable/