Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
opensslcert [2012/04/17 14:07] – [Serverzertifikat mit openSSL bearbeiten] bush | opensslcert [2019/04/10 12:09] – [Subject Alternative Names] mt1051 | ||
---|---|---|---|
Zeile 2: | Zeile 2: | ||
Auf dieser Seite zeigen wir Ihnen, wie Sie mit openSSL ein Schlüsselpaar generieren, den | Auf dieser Seite zeigen wir Ihnen, wie Sie mit openSSL ein Schlüsselpaar generieren, den | ||
- | CSR erzeugen und schließlich das von der Uni-FR CA gelieferte Zertifikat in das Server- | + | CSR (Certificate Signing Request) |
System einbauen. | System einbauen. | ||
- | Hintergrundinformationen dazu finden Sie in dem Dokument **[[serverzertifikat|Ein Serverzertifikat beantragen]]**. | + | Hintergrundinformationen dazu finden Sie in dem Dokument: **[[serverzertifikat|Serverzertifikat beantragen]]**. |
Die Anleitung der DFN PKI: **[[https:// | Die Anleitung der DFN PKI: **[[https:// | ||
Zeile 22: | Zeile 22: | ||
Im vorliegenden Beispiel wollen wir folgendes voraussetzen: | Im vorliegenden Beispiel wollen wir folgendes voraussetzen: | ||
- | * Die Internet-Adresse des Servers sei server1.ruf.uni-freiburg.de | + | * Die Internet-Adresse des Servers sei server1.uni-freiburg.de |
* Die Abteilung ist das Rechenzentum | * Die Abteilung ist das Rechenzentum | ||
* Der Schlüsselbund zur Aufbewahrung der eigenen Schlüssel sei / | * Der Schlüsselbund zur Aufbewahrung der eigenen Schlüssel sei / | ||
- | * Der Schlüssel soll auf hohe Sicherheit (Länge | + | * Der Schlüssel soll auf hohe Sicherheit (Länge |
- | * Der Gültigkeitszeitraum wird auf die maximale von der Uni-FR CA akzeptierten Zeitdauer von 5 Jahren | + | * Bis 2020 kann auch ein neues Zertifikat mit 2084 Bit Schlüssellänge erstellt werden. Das Zertifikats darf dann allerdings nach BSI-Richtlinien nur bis maximal 31.12.2022 gültig sein. |
+ | * **Spätestens ab 2020 muss bei einem neuen Zertifikat eine Schlüssellänge von 4096 Bit verwendet werden.** | ||
+ | * Der Gültigkeitszeitraum wird auf die maximale von der Uni-FR CA akzeptierten Zeitdauer von 2 Jahre (730 Tage) konfiguriert | ||
\\ | \\ | ||
Es soll hier ein Schlüsselpaar inclusive einem selbstsignierten Zertifikat mit folgendem eindeutigen Name erzeugt werden: | Es soll hier ein Schlüsselpaar inclusive einem selbstsignierten Zertifikat mit folgendem eindeutigen Name erzeugt werden: | ||
- | < | + | < |
- | Für die Uni-FR CA sind die Komponenten O und C obligatorisch: | + | Für die Uni-FR CA sind die Komponenten O und C obligatorisch: |
Das Element OU kann auch mehrfach auftreten, falls Sie z.B. verschiedene Unterabteilungen im DN nicht nur durch den CN des Servers kenntlich machen wollen. | Das Element OU kann auch mehrfach auftreten, falls Sie z.B. verschiedene Unterabteilungen im DN nicht nur durch den CN des Servers kenntlich machen wollen. | ||
Das OpenSSL-Kommando zur Herstellung eines Schlüsselpaares lautet folgendermaßen: | Das OpenSSL-Kommando zur Herstellung eines Schlüsselpaares lautet folgendermaßen: | ||
- | (Die Benutzer-Eingabezeilen sind in den Beispielen mit dem System-Promp ' | + | (Die Benutzer-Eingabezeilen sind in den Beispielen mit dem System-Prompt < |
< | < | ||
ohne Passwortschutz: | ohne Passwortschutz: | ||
- | $ openssl genrsa | + | $ openssl genrsa |
mit Passwortschutz: | mit Passwortschutz: | ||
- | $ openssl genrsa | + | $ openssl genrsa |
enter des-ede3-cbc encryption password: ***** | enter des-ede3-cbc encryption password: ***** | ||
Verifying - enter des-ede3-cbc encryption password: ***** | Verifying - enter des-ede3-cbc encryption password: ***** | ||
Zeile 66: | Zeile 68: | ||
prompt | prompt | ||
+ | [ req_distinguished_name ] | ||
+ | C = DE | ||
+ | ST = Baden-Wuerttemberg | ||
+ | L = Freiburg im Breisgau | ||
+ | O = Albert-Ludwigs-Universitaet Freiburg | ||
+ | OU = Rechenzentrum | ||
+ | CN = server1.uni-freiburg.de | ||
+ | emailAddress | ||
+ | </ | ||
+ | |||
+ | ==== Subject Alternative Names ==== | ||
+ | |||
+ | Falls Sie zusätzliche Hostnamen (Subject Alterantive Names, SANs) als Alternativen in das Zertifikat aufgenommen haben wollen, müssen Sie die Konfigurationsdatei in der folgenden Art erweitern: | ||
+ | |||
+ | < | ||
+ | [ req ] | ||
+ | default_bits | ||
+ | distinguished_name | ||
+ | prompt | ||
+ | req_extensions | ||
[ req_distinguished_name ] | [ req_distinguished_name ] | ||
C = DE | C = DE | ||
- | O = Universitaet Freiburg | + | ST = Baden-Wuerttemberg |
+ | L = Freiburg im Breisgau | ||
+ | O = Albert-Ludwigs-Universitaet Freiburg | ||
OU = Rechenzentrum | OU = Rechenzentrum | ||
CN = server1.uni-freiburg.de | CN = server1.uni-freiburg.de | ||
emailAddress | emailAddress | ||
+ | |||
+ | [ v3_req ] | ||
+ | subjectAltName | ||
+ | |||
+ | [ alt_names ] | ||
+ | DNS.1 = server1.uni-freiburg.de | ||
+ | DNS.2 = alt1.uni-freiburg.de | ||
+ | DNS.3 = alt2.uni-freiburg.de | ||
+ | ... | ||
</ | </ | ||
+ | |||
+ | Bitte beachten Sie, dass der Common Name (CN) aus dem Abschnitt [req_distinguished_name] nochmals als SAN im Abschnitt [alt_names] aufgeführt wird, da anderenfalls einige Browser mit der Auswertung der entsprechenden Zertifikatsfelder Probleme haben. | ||
+ | |||
+ | |||
+ | ==== Erzeugen, speichern, überprüfen ==== | ||
In unserem Beispiel soll diese Datei den Namen **req_config** erhalten. | In unserem Beispiel soll diese Datei den Namen **req_config** erhalten. | ||
Zeile 80: | Zeile 118: | ||
< | < | ||
- | $ openssl req -new -days 1825 -key / | + | $ openssl req -new -sha256 |
</ | </ | ||
Damit erzeugen Sie die **Request-Datei** unter dem Namen **server1.csr** unter Verwendung der zuvor erzeugten Konfigurationsdatei **req_config**. | Damit erzeugen Sie die **Request-Datei** unter dem Namen **server1.csr** unter Verwendung der zuvor erzeugten Konfigurationsdatei **req_config**. | ||
+ | Bei Windows XP funktioniert dieses Verfahren nicht! | ||
Die Request-Datei geben Sie zur Kontrolle als lesbaren Text mit folgendem Kommando aus: | Die Request-Datei geben Sie zur Kontrolle als lesbaren Text mit folgendem Kommando aus: | ||
Zeile 94: | Zeile 132: | ||
Die Datei server1.csr können Sie im Web-Interface der Uni-FR CA | Die Datei server1.csr können Sie im Web-Interface der Uni-FR CA | ||
- | * **https:// | + | **[[https:// |
direkt über die Schaltfläche **Durchsuchen** hochladen lassen. | direkt über die Schaltfläche **Durchsuchen** hochladen lassen. | ||
Zeile 109: | Zeile 148: | ||
Sobald Sie das Serverzertifikat von der Uni-FR CA per Mail erhalten haben, speichern Sie die PEM-formatierte Datei des Attachements ab, z.B. unter dem Namen **server1.pem**. | Sobald Sie das Serverzertifikat von der Uni-FR CA per Mail erhalten haben, speichern Sie die PEM-formatierte Datei des Attachements ab, z.B. unter dem Namen **server1.pem**. | ||
- | Außerdem speichern Sie das **[[https:// | + | Außerdem speichern Sie das **[[https:// |
+ | |||
+ | **Sie finden eine aktuellere Version der Zertifikatskette** **[[https:// | ||
Die Installation des Zertifikates hängt von den Anforderungen des Dienstes ab, für den es beantragt wurde. | Die Installation des Zertifikates hängt von den Anforderungen des Dienstes ab, für den es beantragt wurde. | ||
Zeile 119: | Zeile 160: | ||
< | < | ||
ohne Passwortschutz: | ohne Passwortschutz: | ||
- | $ cat g_deutsche-telekom-root-ca-2.pem >>/ | + | $ cat g_deutsche-telekom-root-ca-2.crt >>/ |
- | $ cat g_dfn_intermediatecert.pem >>/ | + | $ cat g_dfn_intermediatecert.crt >>/ |
- | $ cat g_unifrcacert.pem >>/ | + | $ cat g_unifrcacert.crt >>/ |
$ cat server1.pem >>/ | $ cat server1.pem >>/ | ||
mit Passwortschutz (bei bisher ungeschütztem .keystore): | mit Passwortschutz (bei bisher ungeschütztem .keystore): | ||
- | $ cat g_deutsche-telekom-root-ca-2.pem >>/ | + | $ cat g_deutsche-telekom-root-ca-2.crt >>/ |
- | $ cat g_dfn_intermediatecert.pem >>/ | + | $ cat g_dfn_intermediatecert.crt >>/ |
- | $ cat g_unifrcacert.pem >>/ | + | $ cat g_unifrcacert.crt >>/ |
$ cat server1.pem >>/ | $ cat server1.pem >>/ | ||
$ cat / | $ cat / | ||
Zeile 136: | Zeile 177: | ||
$ openssl enc -d -des3 -in / | $ openssl enc -d -des3 -in / | ||
enter des-ede3-cbc decryption password: ***** | enter des-ede3-cbc decryption password: ***** | ||
- | $ cat g_deutsche-telekom-root-ca-2.pem >>/ | + | $ cat g_deutsche-telekom-root-ca-2.crt >>/ |
- | $ cat g_dfn_intermediatecert.pem >>/ | + | $ cat g_dfn_intermediatecert.crt >>/ |
- | $ cat g_unifrcacert.pem >>/ | + | $ cat g_unifrcacert.crt >>/ |
$ cat server1.pem >> | $ cat server1.pem >> | ||
$ openssl enc -e -des3 -in tempstore -out / | $ openssl enc -e -des3 -in tempstore -out / | ||
Zeile 145: | Zeile 186: | ||
$ rm tempstore | $ rm tempstore | ||
</ | </ | ||
+ | <note warning> | ||
+ | </ | ||
+ | <note tip> | ||
Nun teilen Sie **tomcat** in der Datei **server.xml** im **conf**-Verzeichnis mit, wo das Server-Zertifikat zu finden ist. | Nun teilen Sie **tomcat** in der Datei **server.xml** im **conf**-Verzeichnis mit, wo das Server-Zertifikat zu finden ist. | ||
Zeile 212: | Zeile 256: | ||
Normalerweise müssen Sie die Anwendungen anschließend neu starten, damit die Konfiguration wirksam wird und das Zertifikat verwendet werden kann. | Normalerweise müssen Sie die Anwendungen anschließend neu starten, damit die Konfiguration wirksam wird und das Zertifikat verwendet werden kann. | ||
+ | \\ | ||
+ | ===== Literatur ===== | ||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
+ | * http:// | ||
\\ | \\ | ||
Zeile 219: | Zeile 271: | ||
{{tag> | {{tag> | ||
+ |