Zertifikate erstellen

Alle nachfolgenden, erforderlichen Eingaben, Kommandos, etc. sind im Terminal des PI OS erforderlich!

 Je nach dem welche Anleitung ihr im Internet schon gelesen habt, werden immer verschiedene Verzeichnisse zur Ablage der Zertifikate vorgeschlagen oder verwendet. Ich würde euch vorschlagen ein Verzeichnis zu erstellen, das ihr immer verwendet um eure eigenen Zertifikate zu erstellen, zu bearbeiten und als Speicherort in den Browser 'VirtualHost' Blöcken anzugeben.

Für unser Beispiel verwenden wir:

  • TLD = lan
  • SLD = zuhause
  • subdomain = nas

1. erstellen einer vertrauenswürdigen Stammzertifizierungsstelle

1.1 erstellen eines Privaten Schlüssels für die Stammzertifizierungsstelle

Kommando: "openssl genrsa -des3 -out <SLD, ohne TLD>.key 2048"

1.2 erstellen des Stammzertifikats

<> = könnt ihr ausfüllen, muss man aber nicht!

2. erstellen von Zertifikaten basierend auf dem Stammzertifikat

Diesen Ablauf müsst ihr für jede subdomain (meistens Geräte, z.b. NAS) wiederholen!

2.1 erstellen eines Privaten Schlüssels für das Zertifikat

Kommando: "openssl genrsa -out <subdomain.SLD.TLD>.key 2048"

2.2 erstellen eines CSR (Code Signing Request)

Kommando: "openssl req -new -key <subdomain.SLD.TLD>.key -out <subdomain.SLD.TLD>.csr"

2.3 erstellen einer X509 V3 Zertifikatserweiterungs-Konfigurationsdatei

Kommando: "nano <subdomain.SLD.TLD>.ext"

authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
subjectAltName = @alt_names

[alt_names]
DNS.1 = <subdomain.SLD.TLD>
2.4 das Zertifikat erstellen

(mit unserer CSR, dem privaten Schlüssel der CA, dem CA-Zertifikat und der Konfigurationsdatei)

Kommando: "openssl x509 -req -in <subdomain.SLD.TLD>.csr -CA <SLD>.pem -CAkey <SLD>.key -CAcreateserial -out <subdomain.SLD.TLD>.crt -days 3650 -sha256 -extfile <subdomain.SLD.TLD>.ext"

hey, ihr "Durchhalter...", ihr habt es tatsächlich geschafft... na, ja - fast!  😇  Das Stammzertifikat muss ja noch verteilt werden, damit die Browser euer Zertifikat erfolgreich validieren können und der Web Server braucht ja noch die Information welches Zertifikat er verwenden soll, aber dann, versprochen, "klappt's auch mit dem Nachbarn" 😎 


Revision #11
Created 16 June 2025 16:02:05 by tomek
Updated 17 June 2025 10:29:10 by tomek