Folgende eine Kurzanleitung wie man per acme.sh Zertifikate ausstellt. (Danke an Jochen Becker vom TUDa-CERT für die Anleitung.)
Schritt 1 – Installieren
Die Allgemeine Installationsanleitung beschreibt den Prozess, gilt jedoch für zero ssl (default) bzw lets encrypt daher folgende Abweichung: KEINE Angabe einer E-Mail-Adresse zu diesem Zeitpunkt und den Hinweis ignorieren
Als root user (klare Empfehlung)
curl https://get.acme.sh | sh -s
oder
git clone https://github.com/acmesh-official/acme.sh.git
cd acme.sh
acme.sh --install
In der Dokumentation gibt es weitere 4 Wege der Installation.
Schritt 2 – Geant Server als Default einstellen
acme.sh --set-default-ca --server https://acme.sectigo.com/v2/OV
Schritt 3 – Account einmalig registrieren
acme.sh --register-account --email "<kontakt-mail>" --eab-kid "<key-id>" --eab-hmac-key "<hmac-key>" --server https://acme.sectigo.com/v2/OV
Die Werte für <key-id>
und <hmac-key>
erhalten Sie von uns per E-Mail.
Bei dem Wert <kontakt-mail>
handelt es sich um eine Kontakt-Adresse für den Account. Diese wird auch über das Ablaufen informiert. Daher sollten Sie hier möglichst eine Funktionsadresse angeben.
Schritt 4 – Ausstellen eines Zertifikats
Folgende Schritte kommen immer wieder:
Ausstellen von Zertifikaten und Abholen dieser für nur eine Domain (<domain>) ohne Subject Alternative Names
acme.sh --issue -d <domain> --keylength 4096 --days 350 --stateless
acme.sh --issue -d <domain> --keylength ec-384 --days 350 --stateless
Ausstellen von Zertifikaten und Abholen dieser für nur eine Domain (<domain>) mit zusätzlichen Subject Alternative Names
acme.sh --issue -d <domain> -d <SAN1> -d <SAN2> --keylength 4096 --days 350 --stateless
acme.sh --issue -d <domain> -d <SAN1> -d <SAN2> --keylength ec-384 --days 350 --stateless
Schritt 5 – Verlängern
Sofern die cron option (default) aktiviert ist, wird das Zertifikat automatisch verlängert und abgelegt.
Ggf. müssen Services nach einem Fileaustausch bei einem neuen Zertifikat neu geladen werden (reload, restart). Hierbei wird stetig nur das Zertifikat, nicht aber der Key oder die Chain aktualisiert.