Da durch die jetzt neu erschienene Möglichkeit bei Let’s Encrypt Zertifikate auch mit Wildcards versehen zu können viel lästiger Einrichtungskram entfallen kann sofern man mehr als eine Subdomain betreiben möchte, hier eine kurze Anleitung wie es am einfachsten geht. Man benötigt natürlich Zugriff auf seine Domaineinstellungen, da man hier einen TXT-Eintrag ergänzen muss, sowie Zugriff auf das System, für welches man das Zertifikat einrichten möchte. Und so geht es: Wir klonen uns den aktuellsten Stand des Certbot Repositories mit: (Wer kein Git hat oder nutzen möchte kann sich die Dateien unter dem Link auch einfach herunterladen. )

git clone https://github.com/certbot/certbot

Da wechseln wir in das certbot Verzeichnis und führen folgendes aus:

./certbot-auto certonly --manual -d *.example.com --agree-tos --manual-public-ip-logging-ok --preferred-challenges dns-01 --server https://acme-v02.api.letsencrypt.org/directory

Das „*.“ steht dabei für alle Subdomains des Eintrags (Und das ist neu). Das rot geschriebene müsst ihr durch euren eigenen Eintrag ersetzen.
Die nächsten Fragen des Skripts sind selbstklärend. Wichtig wird es dann wieder an dieser Stelle:

Please deploy a DNS TXT record under the name _acme-challenge.example.com with the following value: 8asdasdasdasdafgesrgwrtegdfgsdfgdsgdE05qugWaKhoHEQKvg3c
Before continuing, verify the record is deployed

Hier bitte nicht weitergehen sondern statt dessen den Browser öffnen und zu eurem Domainanbieter und zu den Einstellungen für Subdomains wechseln. Diese finden sich meist unter Zonen-Details, DNS, Subdomains oder ähnlichem. Hier wird nun eine neue Ressource hinzugefügt, die es der Zertifizierungsstelle ermöglicht eure Besitzansprüche an der Domain zu überprüfen. Der Typ des Eintrags wird auf TXT gestellt. Anschließend müsst ihr als Namen den angegebenen Namen eintragen (In diesem Beispiel _acme-challenge.example.com) und als Wert das angezeigte Value. Überprüft, dass der Wert auch eingetragen wurde und wechselt anschließend wieder zurück zum Eingabefenster. Hier könnt ihr nun den Vorgang fortsetzen. Den erfolgreichen Abschluss des Vorgangs erkennt ihr daran, dass euch das Fenster einen Pfad zum Key anzeigt. Hier noch ein Hinweis: Verwendet nicht den angezeigten Pfad um ihn in eurem Webserver zu hinterlegen, da sich dieser mit jedem Erneuern des Schlüssels ändern kann. Verwendet stattdessen die Werte die (standardmäßig) unter /etc/letsencrypt/live/example.com/ zu finden sind. Hier Beispielhaft ein Auszug aus meiner Nginx-Konfiguration, wie das Zertifikat dann eingebunden werden kann

server {
  listen 443 ssl;
  ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
  server_name example.com;
}

Erneuern könnt ihr euer Zertifikat übrigens später einfach mit „certbot renew“. Das wird von certbot aber aktuell noch nicht unterstützt da das Feature noch zu neu ist.