3394
Kommentar:
|
3396
|
Gelöschter Text ist auf diese Art markiert. | Hinzugefügter Text ist auf diese Art markiert. |
Zeile 11: | Zeile 11: |
(wesentliche Teile dieser Doku sind von stackoverflow <http://stackoverflow.com/questions/21297139/how-do-you-sign-openssl-certificate-signing-requests-with-your-certification-aut> übernommen) | (wesentliche Teile dieser Doku sind von [[stackoverflow|http://stackoverflow.com/questions/21297139/how-do-you-sign-openssl-certificate-signing-requests-with-your-certification-aut]] übernommen) |
- Auf Gerät
- Port
- -
- LXC
- -
- Hostname
- pummeluff.nodes.hack-hro.de
Certificate Authority
(wesentliche Teile dieser Doku sind von http://stackoverflow.com/questions/21297139/how-do-you-sign-openssl-certificate-signing-requests-with-your-certification-aut übernommen)
Auf Pummeluff liegt eine eigene Certificate Authority. Diese befindet sich in /root/ssl/ca. Mit ihr sollten Zertifikate, die wir für den internen Gebrauch benötigen, unterschrieben werden. Hackspaceler_innen sind angehalten sich die CA in ihre jeweiligen CA-Stores zu importieren. Damit geht allerdings auch etwas Verantwortung einher, weil sich damit potentiell Zertifikate für jede beliebige Domain erstellen lassen, die dann bei den entsprechenden Personen als vertrauenswürdig gelten. Das Passwort für den CA-Key hat aktuell nur Konrad.
Neuen CSR erstellen
Diese Anleitung nimmt an, dass ihr einen CSR für ein anderes Gerät erstellen wollt, dass bei uns unter $gerät.nodes.hack-hro.de erreichbar ist. Der Einfachheit halber wird dieses Gerät in dieser Anleitung foo heißen. Als erstes kopiert ihr einen der bisherigen Ordner unter /root/ssl/nodes nach /root/ssl/nodes/foo. Löscht danach die csr, pem und key Dateien in dem Ordner. Danach bennent die :code:`.cnf}}} Datei in dem Ordner in foo.cnf um und öffnet sie zum editieren. Passt dann die Schlüsselwerte zu default_keyfile und commonName_default und den Bereich alternate_names an. Die alternate_names sind die Domains, für die dieses Zertifikat schlussendlich ausgestellt wird.
Danach führt folgendes Kommando aus: openssl req -config foo.cnf -newkey rsa -sha256 -nodes -out foo.csr -outform PEM
OpenSSL wird dann noch mal die voreingestellten Angaben abfragen. Achtet drauf, dass alles stimmt. Wenn alles geklappt hat, sollten in dem Ordner jetzt eine foo.key und foo.csr Datei liegen. Diese müssen jetzt von der CA unterschrieben werden.
Zertifikat für CSR ausstellen
Anschließend an die Anleitung zur Erstellung des CSR geht es wieder um das Gerät foo. Um mit der CA ein Zertifikat unterschreiben muss folgender Befehl ausgeführt werden:
openssl ca -config /root/ssl/ca/ca.cnf -policy signing_policy -extensions signing_req -out /root/ssl/nodes/foo/foo.pem -infiles /root/ssl/nodes/foo/foo.csr
Für die Ausführung des Befehls wird das Passwort des CA Keyfiles benötigt. Das hat aktuell nur Konrad. Wer auch immer ein Zertifikat mit der CA unterschreibt sollte den CSR eingehend prüfen. Die CA Konfiguration in } enthält die copy_extensions Direktive mit dem Wert copy . Dadurch werden quasi alle Angaben aus dem CSR direkt übernommen. Das ist wichtig, um einfach die subjectAltNames aus dem CSR zu nutzen. Man muss dem CSR aber damit Vertrauen. Prüft also die Daten!
Die Zertifikate werden standardmäßig für 2 Jahre ausgestellt. Die PEM Datei, die für das Zertifikat generiert wird, lässt sich z.B. direkt im Apache verwenden.
Root-Zertifikat der CA ist an diese Wiki-Seite angehängt.ca.pem