Inhaltsverzeichnis
Um ein Zertifikat für eine Website manuell anzulegen, wird die Software "Certbot" benötigt. Diese Software kann über Windows installiert werden und wird dann per Kommandozeile ausgeführt. "Certbot" wird von Let's Encrypt bereitgestellt uns kann dort heruntergeladen werden.
Ein Zertifikat wird manuell angelegt, wenn der Webhoster keine Möglichkeit des Zugriffs über eine SSH-Konsole gibt. Allerdings sollte es möglich sein, Zertifikatsdateien und Schlüssel über das Admin-Interface hinzufügen zu können. Bei meinem Hoster ist das genau der Fall.
Manuell angelegte Zertifikate haben allerdings den Nachteil, das Sie nicht automatisiert erneuert werden. Das Let's-Encrypt-Zertifikat läuft zudem bereits nach einen Vierteljahr aus. Man muss also ziemlich aufpassen und regelmäßig erneuern.
Los geht´s:
Im Windows-Menü findet sich eine Verknüpfung "Certbot". Wenn diese ausgeführt wird, öffnet sich die Kommandozeile im richtigen Verzeichnis und man kann direkt loslegen.
Ein neues SSL-Zertifikat anlegen
Den Prozess startet man ganz ein mit diesem Befehl in der Kommandozeile:
# certbot --manual
Danach fragt "certbot" nach der zu sichernden URL, zum Beispiel hier die Website "www.eine-website.de".
C:\PROGRA~2\Certbot>certbot certonly --manual
Saving debug log to C:\Certbot\log\letsencrypt.log
Please enter the domain name(s) you would like on your certificate (comma and/or
space separated) (Enter 'c' to cancel): www.eine-website.de
Requesting a certificate for www.eine-website.de
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Create a file containing just this data:
nCjy4Nutk1AeZLVxnptDaLMx0-Hz-fH0lBqEN2Ym_GI.ijBT8d4jCfq3uTCVtMK8gz9Yhz661hzrzkO6HYvGPo8
And make it available on your web server at this URL:
http://www.eine-website.de/.well-known/acme-challenge/nCjy4Nutk1AeZLVxnptDaLMx0-Hz-fH0lBqEN2Ym_GI
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Press Enter to Continue
Nun wirst Du aufgefordert eine Datei mit einem bestimmten Inhalt anzulegen, um Deine Website-Inhaberschaft zu bestätigen. Im Hauptverzeichnis der Website solltest Du diese Verzeichnisse anlegen: ".well-known/acme-challenge/". Darin legst Du eine Datei mit den Namen sowie den Inhalt an, wie im Software-Dialog angegeben wurde. Diese Zeichenfolgen sind jedes mal anders. Schau also genau hin.
Nach einem Druck auf Enter, wird folgendes angezeigt:
Successfully received certificate.
Certificate is saved at: C:\Certbot\live\
www.eine-website.de\fullchain.pem
Key is saved at: C:\Certbot\live\
www.eine-website.de\privkey.pem
This certificate expires on 2024-11-17.
These files will be updated when the certificate renews.
NEXT STEPS:
- This certificate will not be renewed automatically. Autorenewal of --manual certificates requires the use of an authentication hook script (--manual-auth-hook) but one was not provided. To renew this certificate, repeat this same certbot command before the certificate's expiry date.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
If you like Certbot, please consider supporting our work by:
* Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate
* Donating to EFF: https://eff.org/donate-le
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Das Zertifikat wurde angelegt. Im angegebenen Verzeichnis liegen nun alle wichtigen Dateien.
Das Zertifikat auf den Webserver bringen
Die generierten Dateien müssen nun auf den Webserver hochgeladen werden. Bei mir funktioniert das im Admin-Interface unter dem entsprechenden Projekt. Ich gehe jetzt nicht näher darauf ein, weil das bei jedem Webhoster anders sein kann.
Unter "SSL/TLS-Zertifikate" wird nun ein neues Zertifikat hochgeladen. Klicke auf "SSL/TLS-Zertifikat hinzufügen". Im folgender Übersicht müssen einige Angaben gemacht werden:
- der Name, am besten "letsencrypt - expires on ..." und das Verfallsdatum
- unter "Privater Schlüssel" die Datei "privkey1.pem" aus dem o. g. lokalen Verzeichnis auswählen
- unter "Zertifikat" die Datei "cert1.pem" aus dem o. g. lokalen Verzeichnis auswählen
- unter "CA-Zertifikat" die Datei "chain1.pem" aus dem o. g. lokalen Verzeichnis auswählen
Danach auf "Zertifikate hochladen" klicken.
Jetzt sollte das Zertifikat installiert sein. Unter den Hosting-Einstellungen muss jetzt noch unter Sicherheit die "SSL/TLS-Unterstützung" aktiviert und das Zertifikat "letsencrypt - expires on ..." ausgewählt werden. Auch die "Dauerhafte, für SEO geeignete 301-Weiterleitung von HTTP zu HTTPS" muss aktiviert sein.
Das war es! Es müsste funktionieren. Die Website ist über "https://.." abrufbar.
Zertifikate, die auf diese Art und Weise erstellt wurden, sind jeweils nur ein Vierteljahr gültig. Nach diesem Zeitraum müssen die Zertifikate erneuert werden, damit die Website weiterhin unter "https://..." erreichbar bleibt.
Vorhandene SSL-Zertifikate anzeigen und verwalten
Um eine Liste der Zertifikate anzuzeigen, die Certbot kennt, führe diesen Befehl aus:
# certbot certificates
Danach werden alle gefundenen Zertifikate angezeigt und wichtige Infos dazu, wie das Verfallsdatum oder der Speicherort.