Folgendes Problem ereilte alle, die bislang die kostenlosen Letsencrypt Zertifikate über SSL for free erstellt haben, weil ihr Hoster Letsencrypt nicht unterstützte, wie z.B. HostEurope.
Nun fusionierte SSL for free mit Zero SSL und auch dort lassen sich Gratis SSL Zertifikate erstellen, aber leider keine Multidomainzertifikate und nach 90 Tagen scheint auch dort mit Gratis Zertifikaten Schluss zu sein.
Dennoch ist es auch als Windows Nutzer relativ einfach möglich, selbst diese Zertifikate von Letsencrypt zu erstellen.
Was braucht es dazu:
- Windows 10
- WSL (Windows Subsystem for Linux)
- Internetverbindung
Nach der Installation von Ubuntu über den Windows Store steht eine Linux Console zur Verfügung.
Um den Certbot zu installieren, gebt folgende Befehle ein:
$ sudo apt-get update $ sudo apt-get install software-properties-common $ sudo add-apt-repository universe $ sudo add-apt-repository ppa:certbot/certbot $ sudo apt-get update
Update: 01.02.2020: Sollte ein Fehlermeldung nach sudo add-apt-repository ppa:certbot/certbot kommen, bitte stattdessen folgenden Befehl eingeben:
$ sudo apt-get install certbot
Für die Erstellung eines Zertifikats folgendes eingeben:
$ sudo certbot certonly --manual
Der Certbot stellt nun einige Fragen wie Emailadresse ect. und fragt dann die Domains ab, für die die Zertifikate gelten sollen. Die Domains werden mit Komma getrennt und es sollten die Domains mit www und ohne www angegeben werden. Wenn Ihr eine Multidomain habt (also z.B. mit dem Ende .de und .com) gebt ihr diese alle ein.
Bevor die Zertifikate erstellt werden, müssen die angegeben Domains von Letsencrypt validiert werden. Dazu muss von Euch im Rootverzeichniss Eurer Domain ein Ordner .well-known erstellt werden, in dem ihr wiederum das Verzeichnis acme-challenge erstellt. In letzteren Ordner werden für jede Domain Dateien vom Certbot vorgegeben, die ihr in den Ordner acme-challenge speichern müsst.
Die Aufforderung vom Bot in der Linuxconsole lautet zum Beispiel:
create a file containing just this data
gdf8HIOHN_juhjkgnajdsagdsaßhio.CdfandagdsklnklnknOHJL
and make it available on your webserver at this url:
http://EureDomain/.well-known/acme-challenge/gdf8HIOHN_juhjkgnajdsagdsaßhio
Bitte nicht auf „continue“ klicken, bevor diese Datei auf dem Server liegt.
Zur Vorgehensweise empfehle ich, den Notpad++ Editor
zu verwenden. Um die Ziffernfolge in der Console zu markieren, klickt auf das Ubuntu Symbol links oben, dann auf bearbeiten und markieren. Nach dem Markieren logischer Weise auf kopieren und den Dateiinhalt ein ein geöffnetes Notepad++ Fenster kopieren und die Datei unter dem vom Certbot vorgegebenen Namen speichern.
Diese wird dann mit einem geeigneten FTP Clienten (z.B. filezilla) in das entsprechende Verzeichnis kopiert. Bitte beachten, die Datei darf keine Endung haben. Falls ein .txt hinzugefügt worden ist, die Endung per Rechtsklick und umbenennen entfernen.
[UPDATE 04.06.021]
Es ist noch einfacher, wenn Ihr das Notepad ++ Plugin NppFTP über die Erweiterungsverwaltung von Notepad installiert. Markiert dann auf dem Server im Ordner .well-known/acme-challenge eine „alte“ Datei und benennt sie um. Bei obigem Beispiel in „gdf8HIOHN_juhjkgnajdsagdsaßhio“, ladet sie dann mit Doppelklick in das Notepad ++ Fenster und überschreibt den Inhalt mit „gdf8HIOHN_juhjkgnajdsagdsaßhio.CdfandagdsklnklnknOHJL“. Dann Datei „speichern “ und schon habt ihr die Datei auf dem Server. Einen weiteren FTP Clienten könnt Ihr Euch dafür sparen.
[UPDATE ENDE]
Dieses Spiel musst ihr für jede angegebene Domain durchführen (also schon mal 2 für www und ohne www) und für Multidomain Zertifikate entsprechend.
Der Certbot von Letsencrypt prüft, ob die Dateien auf Eurer Domain zu finden sind und erstellt dann die Zertifikate in einem Ordner mit dem Namen Eurer Domain.
Der Ordner liegt unter C:\Users\EurerName\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\etc\letsencrypt\live
In dem Ordner mit dem Namen Eurer Domain findet Ihr 4 Dateien:
cert.pem
chain.pem
fullchain.pem
privekey.pem
Wenn Ihr bei HostEurope die Zertifikate hochladen wollt, hier die Anleitung dazu:
Die cert.pem kommt zu „Zertifikat“, die privekey zu „Key“ und die fullchain.pem zu „CA“
Absenden und fertig.
Damit Eure Domain automatisch mit https aufgerufen wird, noch in die .htacess folgendes eintragen:
RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteRule (.*) https://%{HTTP_HOST}/$1 [R=301,L]
Das wirkt auf mich wie eine sehr interessante Idee, die ich ausprobieren werde.
Ich verstehe den HE-Starrsinn nicht, denn am Ende werden sie es auch anbieten. Dann bin ich aber weg mit zig Domains.
Es wundert mich, dass es nicht schon länger Lösungen wie Deine gibt, im besten Fall automatisiertere, die zumindest die Dateien in die Domain-Dirs kopiert.
Stelle mir vor, dass man die via Script über XAMPP erzeugt alle 90 Tage.
Ja, den Starrsinn von HE verstehe ich auch nicht. Es sollte mit obiger Methode mit „renew“ relativ einfach sein, die Zertifikate zu erneuern. Ich muss nächste Woche 2 erneuern und werde mal berichten.
Hallo Admin,
ich werd’s verfolgen.
Das Erneuern ist ja leider nicht alles. Mich nervt allein das regelmässige Hochladen der Dateien bei Verwaltung vieler Domains.
Am einfachsten finde ich, einfach zu einem anderen Lets-Encrypt kostenlos unterstützenden Provider umzuziehen. Bin schon kräftig dabei, bei AI gibts das Zertifikat mit einem Klick (!) und man muss sich nicht mehr um renew kümmern.
Alles andere geht auch und ist günstiger als HE, die mich nach vollständigem Umzug Anfang nächstes Jahr nicht mehr wiedersehen werden.
Hallo
Vielen Dank für die super Anleitung!
Ich habe das Problem, dass bei mir die Zertifikat- und Key-Dateien zwar existieren, aber alle mit 0 Byte. Wenn ich darauf Zugreifen möchte, meldet Windows „Datei nicht gefunden“ oder „Kann nicht darauf zugreifen.
Was mache ich wohl falsch?
Mit welchem Programm willst Du auf die Zertifikate zugreifen? Wenn Du sie öffnen willst, empfehle ich Notepad++.
Dass die Dateien erstellt werden,aber 0 Byte haben, kann ich mir so nicht erklären. Und es kommen in der Konsole keine Fehlermeldungen? Bist Du als Administrator bei Windows angemeldet?
Ich hätte noch folgende Idee: Im Letsencrypt Ordner befindet sich der Unterordner „archive“. Sieh mal dort unter dem Ordner „Deine Domain“, ob sich dort Sicherungen Deiner Zertifikate befinden und ob die Inhalte haben. Falls ja, nimmst Du diese und stellst Sie wie beschrieben bei HostEurope ein.
Es sicher die – sauberste- Lösung mit einem Linux-Subsystem aud Windows und dem originale Certbot Zertifikate zu erstellen. Es gibt allerdings auch eine einfachere Lösung – einfach auf der Kommandozeilen-Ebene von Windows.
Wer früher mit ZeroSSL gearbeitet hat, um Let’s encrypt Zertifikate zu erstellen, dem empfehle ich das Tool Crypt-LE ( https://github.com/do-know/Crypt-LE ). Das läuft unter Windows und Linux, gewöhnungsbedürftig ist, dass es eine Kommandozeilenprogramm ist. Der Autor war der frühere Betreiber von ZeroSSL.
Kommt man z.B. mit der Windows Powershell zurecht, dann geht die Erneuerung der Zertifikate damit sehr flüssig. Der Ablauf entspricht in etwa der ollen ZeroSSL-Seite – nur eben auf dem eigenen Computer. Was zusätzliche Sicherheit mit sich bringt.
Trotzdem bin ich der Meinung, dass Hosteurope dringend die Einrichtung und Aktualisierung von Let‘ Encypt-Zertifikaten unterstützen sollte.
Danke für den Hinweis. Ob das nun einfacher ist, als über das Linux-Subsystem, muss jeder wohl selbst entscheiden.
Hallo,
Ich wollte meine Zertifikate erneuern,
Dafür habe ich wie das letzte Mal das Kommando
sudo certbot certonly –manual
eingegeben. Antwort:
sudo: certbot: command not found
Dann habe ich versucht Sertbot neu zu installieren.
Bei Schritt 4. wurde ausgegeben:
Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease
Ign:2 http://ppa.launchpad.net/certbot/certbot/ubuntu focal InRelease
Hit:3 http://archive.ubuntu.com/ubuntu focal-updates InRelease
Hit:4 http://archive.ubuntu.com/ubuntu focal-backports InRelease
Err:5 http://ppa.launchpad.net/certbot/certbot/ubuntu focal Release
404 Not Found [IP: 2001:67c:1560:8008::19 80]
Hit:6 http://security.ubuntu.com/ubuntu focal-security InRelease
Reading package lists… Done
E: The repository ‚http://ppa.launchpad.net/certbot/certbot/ubuntu focal Release‘ does not have a Release file.
N: Updating from such a repository can’t be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Hat jemand eine Lösung?
Hallo Admin,
Ich habe jetzt den Certbot installiert (sudo apt-get install certbot)
Allerdings ich kann den Ordner .well-known/acme-challenge
nicht mehr benutzen… Kann die Datei nicht hineinkopieren. Der ist schreibgeschützt und lässt sich NICHT!!! ändern! Habe auch mit Root- Rechten probiert.
Das scheint aber ein Problem auf Deinem Server zu sein. Ist dort irgendetwas geändert worden? Kannst Du neue Ordner anlegen und wieder löschen?
Ich habe heute nochmal ein kleines [Update] in den Text eingefügt. Die Benutzung des FTP Clienten von Notepad++ empfinde ich als Erleichterung.
Funktioniert in 2024 immer noch. 🙂
Dateien im Ordner „live“ waren bei mir leer. Dank der Kommentare habe ich sie aber m Ordner „archive“ finden können.
Ja, das funktioniert und bei HostEurope ist man leider bei den Webpacks immer noch gezwungen, dies so zu erledigen. Da sind andere wie zum Beispiel Allinkl. deutlich anwenderfreundlich. Einmal eingerichtet und alles läuft automatisch.