mit OpenSSL/LibreSSL
RSA Schlüssel generieren
PRIVATE_KEY_FILE Name der Datei für den privaten RSA Schlüssel bspw. private.key KEY_LENGHT
Länge des RSA Schlüssels mind 2048 bit openssl genrsa -out $PRIVATE_KEY_FILE $KEY_LENGHT chmod 400 $PRIVATE_KEY_FILE
Zertifikatsrequest erstellen
PRIVATE_KEY_FILE
Name der Datei mit privaten RSA Schlüssel CERTIFICATE_SIGNING_REQUEST
Name der Datei für die Zertifikatsanfrage bspw. user.csr ORGANISATION
Name der Organisation bspw. IT Center FORENAME
Vorname(n) bspw. Max Udo SURNAME Nachname bspw. Mustermann EMAIL_ADDRESS_1 primäre E-Mail Adresse EMAIL_ADDRESS_2 ... weitere E-Mail Adresse(n) für eine E-Mail Adresse
openssl req -new -key $PRIVATE_KEY_FILE -out $CERTIFICATE_SIGNING_REQUEST -batch -subj "/C=DE/ST=Nordrhein-Westfalen/L=Aachen/O=RWTH Aachen/OU=$ORGANISATION/CN=$FORENAME $SURNAME/emailAddress=$EMAIL_ADDRESS_1"
für mehrere E-Mail Adressen
openssl req -new -key $PRIVATE_KEY_FILE -out $CERTIFICATE_SIGNING_REQUEST -batch -subj "/C=DE/ST=Nordrhein-Westfalen/L=Aachen/O=RWTH Aachen/OU=$ORGANISATION/CN=$FORENAME $SURNAME" -reqexts SAN -config <(cat /etc/ssl/openssl.cnf <(printf "[SAN]\nsubjectAltName=email:$EMAIL_ADDRESS_1,email:$EMAIL_ADDRESS_2"))
Zertifikatsrequest prüfen
CERTIFICATE_SIGNING_REQUEST
Name der Datei mit der Zertifikatsanfrage bspw. user.csr openssl req -text -noout -in $CERTIFICATE_SIGNING_REQUEST
- Zertifikatsantrag einreichen
- Die DFN-Webseite für Serverzertifikate im Browser der Wahl aufrufen
dort folgende Einträge tätigen
PKCS#10-Zertifikatantrag $CERTIFICATE_SIGNING_REQUEST
Zertifikatprofil User Name (Vor- und Nachname) $FORENAME $SURNAME
E-Mail $EMAIL_ADDRESS_1
Institut/Einrichtung $ORGANISATION
PIN Zufallszahl, die bspw. für das Widerrufen des Zertifikates benötigt wird Verpflichtung anhaken Veröffentlichung wenn gewünscht anhaken, dann auch über DFN-Adressbuch inkl. Zertifikat zu finden - auf der nachfolgenden Seite diese Angaben bestätigen
das PDF-Dokument "Zertifikatsantrag auf Nutzerzertifikat"
- wird nach der Bestätigung der Angaben zum Download bereitgestellt
- muss ausgedruckt und handschriftlich unterschrieben werden
- kann unter Vorlage eines Lichtbildausweises bei benannten Stellen persönlich eingereicht werden
- sobald die RWTH-CA das ausgedruckte PDF-Dokument gerpüft hat, erteilt sie den Auftrag, das Zertifikat im Rahmen der DFN-PKI zu erstellen
- dem Nutzer wird an EMAIL_ADDRESS_1 eine E-Mail geschickt, in deren Anhang sich das Zertifikat befindet
prüfen ob das Zertifikat zum eigenen/privaten Schlüssel passt
PRIVATE_KEY_FILE
Name der Datei mit privaten RSA Schlüssel CERTIFICATE_FILE
Name der Datei mit dem erstellten Zertifikat (openssl rsa -noout -modulus -in $PRIVATE_KEY_FILE | openssl md5; openssl x509 -noout -modulus -in $CERTIFICATE_FILE | openssl md5) | uniq
.p12-Datei erstellen
EXPORT_FILE
Name der Export-Datei bspw. $SURNAME.p12 PRIVATE_KEY_FILE
Name der Datei mit privaten RSA Schlüssel CERTIFICATE_FILE
Name der Datei mit dem erstellten Zertifikat chain.txt
Datei mit der Zertifikatskette der DFN-PKI ohne Zertifikatskette
openssl pkcs12 -export -out $EXPORT_FILE -inkey $PRIVATE_KEY_FILE -in $CERTIFICATE_FILE
mit Zertifikatskette
wget https://pki.pca.dfn.de/dfn-ca-global-g2/pub/cacert/chain.txt openssl pkcs12 -export -out $EXPORT_FILE -inkey $PRIVATE_KEY_FILE -in $CERTIFICATE_FILE -certfile chain.txt
- Je nach Anwendungswunsch (E-Mail oder PDF Dokument signieren/unterschreiben) kann diese EXPORT_FILE in den Zertifikatsspeicher des jeweiligen Programmes importiert werden, bspw.
- Thunderbird
- Outlook
- Adobe Acrobat
- JSignPDF