OpenSSL: Unterschied zwischen den Versionen
K (8 Versionen importiert) |
(Änderung 562 von Suelmann (Diskussion) rückgängig gemacht.) Markierung: Rückgängigmachung |
||
Zeile 1: | Zeile 1: | ||
__NOTOC__ | __NOTOC__ | ||
= Allgemeine Befehle = | |||
Zertifikatsinhalt anzeigen: | |||
<pre><nowiki> | |||
openssl x509 -noout -text -in DATEI | |||
</nowiki></pre> | |||
Neuen Key erstellen: | |||
<pre><nowiki> | |||
openssl genrsa -out DATEI.key 2048 | |||
</nowiki></pre> | |||
Zertifikatsrequest erstellen: | |||
<pre><nowiki> | |||
openssl req -new -sha256 -key DATEI.key -out DATEI.csr | |||
</nowiki></pre> | |||
= Zertifikate erzeugen mit OpenSSL = | = Zertifikate erzeugen mit OpenSSL = | ||
== CA aufsetzen, allgemeine Konfiguration == | |||
Ich bin der [http://www.debian-administration.org/articles/618 Debian-Anleitung] gefolgt. | Ich bin der [http://www.debian-administration.org/articles/618 Debian-Anleitung] gefolgt. | ||
Zeile 6: | Zeile 30: | ||
Die Pfade ensprechen der Konfiguration von Fedora. | Die Pfade ensprechen der Konfiguration von Fedora. | ||
/etc/pki/tls/misc/CA ist ein Hilfs-Skript, dass als Wrapper die Aufrufe von OpenSSL vereinfacht. | /etc/pki/tls/misc/CA ist ein Hilfs-Skript, dass als Wrapper die Aufrufe von OpenSSL vereinfacht. | ||
Dieses Skript muss ggf. angepasst werden, damit es den eigenen Wünschen entspricht, z.B. | Dieses Skript muss ggf. angepasst werden, damit es den eigenen Wünschen entspricht, z.B. | ||
Zeile 15: | Zeile 39: | ||
Außerdem muss /etc/pki/tls/openssl.cnf angepasst werden. | |||
Hier kann man z.B. Vorgaben für Requests machen, z.B. | |||
<pre><nowiki> | |||
[ CA_default ] | |||
default_days = 1825 | |||
[ req ] | |||
default_bits = 2048 | |||
req_extensions = v3_req | |||
[ req_distinguished_name ] | |||
countryName_default = DE | |||
stateOrProvinceName_default = NRW | |||
0.organizationName_default = Shea | |||
[ usr_cert ] | |||
subjectAltName=${ENV::SAN} # Zertifikate mit Subject Alternative Name erzeugen | |||
#copy_extensions = copy # Extensions wie Subject Alternative Name aus Request übernehmen | |||
[ v3_req ] | |||
subjectAltName=${ENV::SAN} # Requests mit Subject Alternative Name erzeugen | |||
</nowiki></pre> | |||
Eine neue CA wird dann mit <code><nowiki>/etc/pki/tls/misc/CA -newca</nowiki></code> erzeugt. Dabei werden verschiedene Parameter abgefragt, die relativ selbsterklärend sind. Die "PEM pass phrase" wird genutzt, um den geheimen Schlüssel der CA zu verschlüsseln und entsprechend sicher zu wählen. Beim Signieren muss die pass phrase wieder angegeben werden. | |||
Das CA-Zertifikat wird unter /etc/pki/CA/cacert.pem abgelegt. | |||
Damit das System diese CA akzeptiert, muss sie an unterschiedlichen Stellen hinzugefügt werden. | |||
* OpenSSL: CA-Zertifikate liegen bei Fedora in einer großen Datei: /etc/pki/tls/certs/ca-bundle.crt - um die neue CA hinzuzufügen <code><nowiki>cat /etc/pki/CA/cacert.pem >> /etc/pki/tls/certs/ca-bundle.crt</nowiki></code> ausführen | |||
* Firefox: In den Einstellungen unter Erweitert -> Verschlüsselung "Zertifikate anzeigen" wählen. Dort dann auf dem Tab Zertifizierungsstellen "Importieren..." wählen und die cacert.pem-Datei auswählen. | |||
* OpenLDAP: ... | |||
== Zertifikate erstellen == | |||
Dateien wirden bei den folgenden Befehlen jeweils im aktuellen Verzeichnis erzeugt. | |||
Nach dem Aufsetzen der CA kann man mit <code><nowiki>/etc/pki/tls/misc/CA -newreq</nowiki></code> Zertifikats-Requests erzeugen. Dabei werden wieder verschiedene Parameter abgefragt. Die "PEM pass phrase" ist für den neu erzeugten Key in newkey.pem. Der Request wird in newreq.pem erzeugt und kann mit <code><nowiki>openssl req -noout -text -in newreq.pem</nowiki></code> überprüft werden. | |||
Wenn man die Zeilen mit req_extensions und subjectAltName in openssl.cnf wie open setzt und die Umgebungsvariable SAN setzt, wird die Extension "Subject Alternative Name" beim Erzeugen von Zertifikats-Requests entsprechend gesetzt. Man kann alternativ die Extension auch direkt in openssl.cnf setzen. Die Extension ist z.B. wichtig bei Webservern, die unter verschiedenen Namen erreichbar sind. Die Syntax ist <code><nowiki>DNS:xxx.com, IP:a.b.c.d, email:a@xxx.com</nowiki></code>. | |||
Nach dem Erzeugen des Requests kann man mit <code><nowiki>/etc/pki/tls/misc/CA -sign</nowiki></code> das neue Zertifikat newcert.pem erzeugen. Dabei muss ggf. wieder die Umgebungsvariable SAN gesetzt sein. Das Zertifikat kann mit <code><nowiki>openssl x509 -noout -text -in newcert.pem</nowiki></code> überprüft werden. | |||
Um eine Key-Datei ohne Passwort zu erhalten, kann man <code><nowiki>openssl rsa -in newkey.pem -out newkey.nopass.pem</nowiki></code> aufrufen. | |||
Das Zertifikat newcert.pem und der Key newkey.nopass.pem müssen dann passend kopiert werden. | |||
---- | ---- | ||
[[KategorieWissen]] | [[KategorieWissen]] | ||
Aktuelle Version vom 20. Dezember 2021, 13:59 Uhr
Allgemeine Befehle
Zertifikatsinhalt anzeigen:
openssl x509 -noout -text -in DATEI
Neuen Key erstellen:
openssl genrsa -out DATEI.key 2048
Zertifikatsrequest erstellen:
openssl req -new -sha256 -key DATEI.key -out DATEI.csr
Zertifikate erzeugen mit OpenSSL
CA aufsetzen, allgemeine Konfiguration
Ich bin der Debian-Anleitung gefolgt.
Die Pfade ensprechen der Konfiguration von Fedora.
/etc/pki/tls/misc/CA ist ein Hilfs-Skript, dass als Wrapper die Aufrufe von OpenSSL vereinfacht. Dieses Skript muss ggf. angepasst werden, damit es den eigenen Wünschen entspricht, z.B.
DAYS="-days 1825" CADAYS="-days 3650"
Außerdem muss /etc/pki/tls/openssl.cnf angepasst werden.
Hier kann man z.B. Vorgaben für Requests machen, z.B.
[ CA_default ] default_days = 1825 [ req ] default_bits = 2048 req_extensions = v3_req [ req_distinguished_name ] countryName_default = DE stateOrProvinceName_default = NRW 0.organizationName_default = Shea [ usr_cert ] subjectAltName=${ENV::SAN} # Zertifikate mit Subject Alternative Name erzeugen #copy_extensions = copy # Extensions wie Subject Alternative Name aus Request übernehmen [ v3_req ] subjectAltName=${ENV::SAN} # Requests mit Subject Alternative Name erzeugen
Eine neue CA wird dann mit /etc/pki/tls/misc/CA -newca
erzeugt. Dabei werden verschiedene Parameter abgefragt, die relativ selbsterklärend sind. Die "PEM pass phrase" wird genutzt, um den geheimen Schlüssel der CA zu verschlüsseln und entsprechend sicher zu wählen. Beim Signieren muss die pass phrase wieder angegeben werden.
Das CA-Zertifikat wird unter /etc/pki/CA/cacert.pem abgelegt.
Damit das System diese CA akzeptiert, muss sie an unterschiedlichen Stellen hinzugefügt werden.
- OpenSSL: CA-Zertifikate liegen bei Fedora in einer großen Datei: /etc/pki/tls/certs/ca-bundle.crt - um die neue CA hinzuzufügen
cat /etc/pki/CA/cacert.pem >> /etc/pki/tls/certs/ca-bundle.crt
ausführen - Firefox: In den Einstellungen unter Erweitert -> Verschlüsselung "Zertifikate anzeigen" wählen. Dort dann auf dem Tab Zertifizierungsstellen "Importieren..." wählen und die cacert.pem-Datei auswählen.
- OpenLDAP: ...
Zertifikate erstellen
Dateien wirden bei den folgenden Befehlen jeweils im aktuellen Verzeichnis erzeugt.
Nach dem Aufsetzen der CA kann man mit /etc/pki/tls/misc/CA -newreq
Zertifikats-Requests erzeugen. Dabei werden wieder verschiedene Parameter abgefragt. Die "PEM pass phrase" ist für den neu erzeugten Key in newkey.pem. Der Request wird in newreq.pem erzeugt und kann mit openssl req -noout -text -in newreq.pem
überprüft werden.
Wenn man die Zeilen mit req_extensions und subjectAltName in openssl.cnf wie open setzt und die Umgebungsvariable SAN setzt, wird die Extension "Subject Alternative Name" beim Erzeugen von Zertifikats-Requests entsprechend gesetzt. Man kann alternativ die Extension auch direkt in openssl.cnf setzen. Die Extension ist z.B. wichtig bei Webservern, die unter verschiedenen Namen erreichbar sind. Die Syntax ist DNS:xxx.com, IP:a.b.c.d, email:a@xxx.com
.
Nach dem Erzeugen des Requests kann man mit /etc/pki/tls/misc/CA -sign
das neue Zertifikat newcert.pem erzeugen. Dabei muss ggf. wieder die Umgebungsvariable SAN gesetzt sein. Das Zertifikat kann mit openssl x509 -noout -text -in newcert.pem
überprüft werden.
Um eine Key-Datei ohne Passwort zu erhalten, kann man openssl rsa -in newkey.pem -out newkey.nopass.pem
aufrufen.
Das Zertifikat newcert.pem und der Key newkey.nopass.pem müssen dann passend kopiert werden.