Mit OpenSSL ein Root Zertifikat erzeugen und damit ein Server Zertifikat signieren. (Micro-CA)
Erzeugen von Root- Zertifikat und Schlüssel, dabei wird das Passwort abgefragt mit dem der Schlüssel geschützt wird.
openssl req \
-new \
-x509 \
-keyout root.example.net.key \
-out root.example.net.crt \
-days 3650 \
-subj "/C=DE/O=example.net/CN=root.example.net"
-x509 Zertifikat erzeugen-keyout Dateiname für den Schlüssel-out Dateiname für das Zertifikat-days Laufzeit-subj Titel des Zertifikates
C LänderkürzelO OrganisationCN NameemailAddress Kontakt Mail AdresseSchlüssel und Zertifikatsanfrage erstellen
openssl req \
-new \
-noenc \
-out www.example.net.csr \
-keyout www.example.net.key \
-subj "/C=DE/O=example.net/CN=www.example.net/emailAddress=admin@example.net" \
-addext "subjectAltName = DNS:example.net, IP:127.0.0.1"
-noenc Schlüssel nicht mit Passwort schützen, man müsste das Passwort sonst
bei jedem Neustart des Dienstes der das Zertifikat nutzen will eingeben in
älteren Versionen war dies -nodes-out Datei mit der Zertifikatsanfrage-addext x509 Erweiterung hier der subjectAltName, alternative DNS Namen
und/oder IP Adressen für die das Zertifikat gelten sollZertifikat, signiert von der CA, aus Zertifikatsanfrage erstellen
openssl x509 \
-req \
-CAkey root.example.net.key \
-CA root.example.net.crt \
-in www.example.net.csr \
-out www.example.net.crt \
-copy_extensions copy \
-days 365
-req Zertifikat erzeugen-CAkey Dateiname des Root- Zertifikatsschlüssel-CA Dateiname des Root- Zertifikates-in Dateiname der Zertifikatsanfrage-out Dateiname für das Zertifikat-copy_extensions copy x509 Erweiterungen wie z.B. subjectAltName
übernehmen-days LaufzeitBefehle zum überprüfen und zur Fehlersuche
Inhalt einer Zertifikatsanfrage prüfen
openssl req -in www.example.net.csr -text
Inhalt eines Zertifikates prüfen
openssl x509 -in www.example.net.crt -text
Passen Schlüssel und Zertifikat zusammen, die Prüfsummen müssen identisch sein
openssl x509 -in www.example.net.crt -noout -modulus | md5sum
openssl rsa -in www.example.net.key -noout -modulus | md5sum
Passen Zertifikat zum Root- Zertifikat
openssl verify -CAfile root.example.net.crt www.example.net.crt
Einrichten von Root- und Server- Zertifikat auf einem Debian System.
Speicherorte:
/etc/ssl/certs/ Server- Zertifikat/etc/ssl/private/ Server- Schlüssel/usr/share/ca-certificates/ Root- Zertifikat/etc/ssl/certs/ca-certificates.crt Datei mit allen Root- Zertifikat denen
das System vertrautRoot- Zertifikat nachdem es unter /usr/share/ca-certificates/ abgelegt wurde
zu den vertrauenswürdigen Zertifikaten im System hinzufügen.
1echo root.example.net.crt >> /etc/ca-certificates.conf
2update-ca-certificates