
Diese Anleitung erklärt, wie ein ACME-Zertifikat bezogen werden kann und in einem Webserver verwaltet wird, um SSL/TLS-Verschlüsselung automatisiert zu nutzen (z. B. mit certbot). ACME steht für Automated Certificate Management Environment und dient der automatisierten Ausstellung und Erneuerung von Zertifikaten.
ACME ist ein Protokoll zur automatischen Ausstellung und Erneuerung von SSL/TLS-Zertifikaten. Es ermöglicht dem Server, Zertifikate selbstständig zu beantragen und zu erneuern, ohne manuelles Eingreifen.
Reduziert den Verwaltungsaufwand durch Automatisierung.
Besonders wichtig, da Serverzertifikate ab dem 15.03.2029 nur noch 47 Tage gültig sind — häufige Erneuerung sonst erforderlich.
Gültigkeit von Serverzertifikaten
15.03.2026 200 Tage
15.03.2027 100 Tage
15.03.2029 47 Tage
Für die ACME-CA an der Hochschule Harz wird dabei eine externe Account-Bindung (EAB) mit Key-ID und HMAC-Key verwendet, um den Account bei der CA zu authentifizieren
Es gibt zwei Arten von ACME-Accounts
Ein Account wird von einem Teammitglied der HS-Harz-CA erstellt und für spezifische Domains freigeschaltet. Aufgrund der Vorvalidierung der Domains und ihrer Zuordnung ist keine Challenge (Validierung des Servers) mehr notwendig.
Anfragen zur Einrichtung eines Accounts bzw. Freischaltung einer weiteren Subdomain bitte an ca@hs-harz.de senden.
Angaben:
Ausgabe des Account an die Mailadresse mit
Die Erstellung eines Personal Accounts kann jeder Nutzer über sein Harica Dashboard selbst vornehmen. Eine Domain-Validierung (Challenge) wird per ACME Challenge durchgeführt, z. B. HTTP-Challenge
Ausgabe des Account erfolgt mit folgenden Informationen
Daten müssen vertraulich behandelt werden.
Für die HTTP-01 Challenge muss der Server von außen, d. h. über das Internet, erreichbar sein. Dies liegt daran, dass Let's Encrypt eine HTTP-Anfrage an eine spezifische URL sendet, die von Ihrem Server bedient werden muss, um die Kontrolle über die Domain zu validieren.
Vorraussetzung
Installation Certbot
apt install certbot
Zertifikat beantragen mit der Option: --standalone
certbot certonly --standalone --non-interactive --agree-tos --email <mailadresse@hs-harz.de> --server <ACME-URL> --eab-kid <KID> --eab-hmac-key <HMAC-Key> --domain <subDomain>
Nach erfolgreicher Ausstellung befinden sich die Zertifikate unter: /etc/letsencrypt/live/ihrserver.hs-harz.de/
Füge die Links zu den Zertifikatsdateien in deine VirtualHost-Konfiguration ein
<VirtualHost *:443>
ServerName example.com
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
</VirtualHost>
a2ensite ihrserver.conf
systemctl reload apache
server {
listen 443 ssl;
server_name ihrserver.hs-harz.de;
ssl_certificate /etc/letsencrypt/live/ihrserver.hs-harz.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/ihrserver.hs-harz.de/privkey.pem;
root /var/www/html;
}
systemctl reload nginx
certbot --apache --non-interactive --agree-tos --email <mailadresse@hs-harz.de> --server <ACME-URL> --eab-kid <KID> --eab-hmac-key <HMAC-Key> --domain <subDomain>
Certbot erkennt automatische die bestehende Apache-Konfiguration /etc/apache2/sites-available/ihrserver.conf und passt diese an, um eine SSL-Verbindung zu aktivieren. Nach der Konfiguration wird typischerweise ein Apache-Neustart durchgeführt.
systemctl restart apache2
Nach der Installation kümmert sich Certbot bie beiden Varianten um die automatisierte Erneuerung der Zertifikate, sodass Sie sicherstellen können, dass Ihre Website immer eine gültige SSL-Verbindung hat.
Vorraussetzung
httpd_md Modul für den Apache aktivieren
a2enmod md
systemctl restart apache2
Tragen Sie die folgenden Definitionen am Anfang Ihrer `/etc/apache2/sites-available/ihrserver.conf` ein:
MDomain subdomain1.hs-harz.de subdomain2.hs-harz.de
MDContactEmail mailadresse@hs-harz.de
MDCertificateAuthority Serveradresse / ACME-URL
MDCertificateAgreement accepted
MDExternalAccountBinding Pfad zur Accountdatendatei z.B:: /etc/apache2/secret/harica-eab-file
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName subdomain1.hs-harz.de
DocumentRoot /
...
Die Direktive `MDomain` gruppiert die angegebenen Subdomains, hier sollten alle Domainnamen angegeben werden, die in den nachfolgenden VirtualHostDefinitionen definiert werden. Es wird ein Zertiifkat mit allen Servernamen ausgestellt.
Erstellen Sie die Accountdatendatei mit folgender Syntax
{"kid": "Key ID", "hmac": "HMAC Key"}
Apache muss zweimal neugestartet werden.
systemctl restart apache2.
Zertifikate können mit folgender Befehlszeile erneuert werden:
certbot certonly --standalone --non-interactive --agree-tos --email mailadresse@hs-harz.de --server <ACME URL> -eab-kid <KEYID> -eab-hmac-key <KEY> -domain <Domain> -force-renewal
-d domain1.com -d domain2.com -d domain3.com
certbot legt automatisch einen Cronjob/Systemd Timer an, der das Zertifikat regelmäßig erneuert. Der Status kann mit folgendem Befehl geprüft werden
certbot renew --dry-run
Certbot-Paarameter
Parameter in Kurzform: