PKCS10 Datei mittels openSSL lokal erstellen
openSSL ist ein Bordmittel vieler Linux-Systeme, das aber auch für Windows installiert werden kann. Das System, auf dem kryptografische Schlüssel erzeugt werden, muss vertrauenswürdig sein. Insbesondere der private Schlüssel / Private Key ist schützenswert, weil hierüber der rechtmäßige Inhaber des Zertifikates nachgewiesen wird und es bei einer Kompromittierung zu einem Identitätsdiebstahl kommen kann.
Um die Kommandozeile nicht zu überladen, werden mehrere Angaben in einer Konfigurationsdatei 'cert.conf' ausgelagert, die im gleichen Ordner liegen muss. Inhalt von 'cert.conf' steht zwischen den Gleichzeichen. Die Platzhalter HOSTNAME und SUBDOMAIN müssen ersetzt werden, beispielsweise zu wiki.rz.tuhh.de
=============================================
[ req ]
prompt = no
distinguished_name = req_distinguished_name
req_extensions = req_exts
[ req_distinguished_name ]
countryName = DE
stateOrProvinceName = Hamburg
localityName = Hamburg
organizationName = Technische Universitaet Hamburg
commonName = HOSTNAME.SUBDOMAIN.tuhh.de
[ req_exts ]
subjectAltName = @alt_names
[ alt_names ]
DNS.0=HOSTNAME.SUBDOMAIN.tuhh.de
DNS.1=HOSTNAME.SUBDOMAIN.tu-harburg.de
DNS.2=HOSTNAME.SUBDOMAIN.tu-hamburg.de
DNS.3=HOSTNAME2.SUBDOMAIN.tuhh.de
DNS.4=HOSTNAME2.SUBDOMAIN.tu-harburg.de
DNS.5=HOSTNAME2.SUBDOMAIN.tu-hamburg.de
=============================================
Der Aufruf ist dann:
openssl req -config cert.conf -sha256 -newkey rsa:3072 -keyout pkey.pem -out csr.pem
Der openSSL Aufruf enthält folgende Parameter:
-config cert.conf
Dateiname und ggf. Pfad der Konfigurationsdatei
-sha256
Verschlüsselungsalgorithmus, hier SHA-2 bzw. SHA-256
-newkey rsa:3072
Länge und Art der erzeugten Schlüssel, hier RSA mit 3072 Bit (kürzer 2048, länger 4096 Bit)
-passout pass:
Setzt ein Passwort für den privaten Schlüssel. In diesem Beispiel ist das Passwort leer für einen Serverbetrieb. Achten Sie darauf, dass nur Sie oder root den privaten Schlüssel lesen können und der Schlüssel Ihren Rechner oder den Zielserver nicht verlässt!
-keyout pkey.pem
Private Key bzw. privater Schlüssel, üblicherweise mit einer Passphrase geschützt
-out csr.pem
Certificate Signing Request (CSR), der Zertifikatsantrag, der hochgeladen wird
Der
commonName
des Servers wiederholt sich in der Angabe für
DNS.0
. Weitere Aliase können fortlaufend durchnummeriert ergänzt werden. Im obigen Beispiel gibt es einen zweiten Hostnamen. Beide sind für die Domains der TUHH (tuhh.de, tu.harburg.de, tu-hamburg.de) eingetragen.