Wildcard Zertifikat erstellen und Installieren

Die meisten Webseiten lassen sich inzwischen sehr einfach mit einem Klick über „Let’s encrypt“ verschlüsseln. In diesem Beitrag soll es darum gehen, wie man selbst eine Zertifikatsanfrage stellt, Zertifikate austauscht und diese bei seinem Webhoster übernimmt.

openssl req -nodes -new -newkey rsa:2048 -sha256 -out csr.pem -keyout key.pem

Der Befehl führt zu einem kleinen Questionäre, bei dem man verschiedene Daten zu der Zertifikatsanfrage beantworten muss.

Generating a 2048 bit RSA private key
....................+++
..........................+++
writing new private key to 'key.pem'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) []:DE
State or Province Name (full name) []:Niedersachsen
Locality Name (eg, city) []:Braunschweig
Organization Name (eg, company) []:Tobi Sell
Organizational Unit Name (eg, section) []:IT
Common Name (eg, fully qualified host name) []:*.tobias-sell.com
Email Address []:security@tobias-sell.com

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:

Das Challenge Passwort wird nur dafür verwendet, um den CSR sicher an den Aussteller zu übertragen.

Diesen CSR kann man dann bei seinem Anbieter hochladen um ein Zertifikat anzufordern. In meinem Fall ein „Wildcard Zertifikat“, es funktioniert aber ganz genauso auch bei normalen Zertifikaten. In dem Fall sollte man das * vor dem Domainnamen weglassen (im CSR).

Anschließend muss man in der Regel dem Zertifikats-Aussteller nochmal die Domain bestätigen. Dies passiert meist, indem eine Email mit Verifizierungslink an den Domainbesitzer geschickt wird oder indem man einen TXT-Eintrag bei seiner Domain hinterlegt. Dies wird bei den einzelnen Anbietern meist sehr gut beschrieben.

Ist die Domain bestätigt, bekommt man von der Zertifizierungsistanz mehrere Dinge

  • Das Webseiten-Zertifikat
  • Ein Intermediate Zertifikat (Brückenzertifikat)
  • Das Zertifikat der Ausstellenden Behörde

Die Inhalte dieser Dateien muss man nun bei seinem Webhoster eintragen. Hier mal exemplarisch die Maske von All-Inkl.

Den CSR, muss man eigentlich nicht mehr eintragen. Was wichtig ist, ist der Key, den wir mit dem Kommandozeilen-Befehl erstellt haben, das eigentliche Zertifikat (Cert) und die Brückenzertifikate. Meistens gibt es für die nur ein Textfeld oder einen Upload. Es werden aber alle Zertifikate der Zertifikatskette gebraucht. Die Lösung ist relativ einfach: Man kopiert das Zertifikat des Ausstellers und das Intermediate-Zertifikat in eine Datei oder in das eine Textfeld und dann werden beide angenommen.

Anschließend sollte die Webseite unter dem neuen Zertifikat zur Verfügung stellen. In meinem Fall, sogar eine ganze Menge Webseiten, da ein Wildcard-Zertifikat auch alle Subdomains mit abdeckt.

Spannend? Lass uns Gedanken austauschen!