OpenSSL: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 64: | Zeile 64: | ||
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. | 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 | 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. | 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. |
Version vom 1. Januar 1970, 01:00 Uhr
Allgemeine Befehle
Zertifikatsinhalt anzeigen:
openssl x509 -noout -text -in DATEI
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.