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