Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende ÜberarbeitungNächste ÜberarbeitungBeide Seiten der Revision | ||
opensslcert [2010/02/10 09:38] – angelegt bush | opensslcert [2016/04/22 13:39] – [Subject Alternative Names] schyle | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
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|Serverzertifikat beantragen]]**. | ||
+ | |||
+ | Die Anleitung der DFN PKI: **[[https:// | ||
+ | |||
+ | Die Anleitung des DFN CERT: **[[http:// | ||
+ | |||
+ | Auf Linux-Systemen sollte openSSL grundsätzlich bereits installiert sein. | ||
+ | |||
+ | Für Windows-Systeme können Sie das Programmpaket hier herunterladen: | ||
+ | **[[http:// | ||
+ | |||
+ | |||
+ | |||
===== Schlüsselpaar generieren ===== | ===== Schlüsselpaar generieren ===== | ||
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 / | ||
Zeile 15: | Zeile 29: | ||
\\ | \\ | ||
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 < |
< | < | ||
Zeile 52: | Zeile 66: | ||
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 87: | Zeile 137: | ||
Das Antragsverfahren mit Hilfe des Web-Interface der Uni-FR CA ist beschrieben in dem Dokument | Das Antragsverfahren mit Hilfe des Web-Interface der Uni-FR CA ist beschrieben in dem Dokument | ||
- | * **[[Serverzertifikat beantragen]]** | + | * **[[serverzertifikat|Serverzertifikat beantragen]]** |
\\ | \\ | ||
Zeile 95: | Zeile 145: | ||
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 **Zertifikat der Wurzelzertifizierungsstelle** der Deutschen Telekom, das **Zwischenzertifikat der DFN-PKI** sowie das **Zertifikat der Uni-FR CA** als PEM-Datei ab. Klicken Sie dazu mit der rechten Maustaste auf die Links und wählen Sie die Funktion "Ziel speichern unter..." | + | Außerdem speichern Sie das **[[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 170: | Zeile 220: | ||
# both in parallel (to also allow the use of DSA ciphers, etc.) | # both in parallel (to also allow the use of DSA ciphers, etc.) | ||
SSLCertificateKeyFile "/ | SSLCertificateKeyFile "/ | ||
+ | ... | ||
+ | </ | ||
+ | \\ | ||
+ | |||
+ | ===== Zertifikatskette bereitstellen ===== | ||
+ | |||
+ | Wenn der Server die Zertifikatskette (SSLCertificateChainFile) nicht zum Client überträgt, | ||
+ | |||
+ | In der SSL-Konfigurationsdatei von Apache findet man dazu den Parameter " | ||
+ | |||
+ | Speichern Sie die Zertifikatskette, | ||
+ | |||
+ | < | ||
# | # | ||
# Point SSLCertificateChainFile at a file containing the | # Point SSLCertificateChainFile at a file containing the | ||
Zeile 178: | Zeile 241: | ||
# when the CA certificates are directly appended to the server | # when the CA certificates are directly appended to the server | ||
# | # | ||
- | SSLCertificateChainFile "/ | + | SSLCertificateChainFile "/ |
... | ... | ||
</ | </ | ||
- | |||
- | Wenn Sie die Zertifikatskette (SSLCertificateChainFile) nicht ausgeben, sind die Clients gezwungen, die Zwischenzertifikate manuell zu importieren. | ||
- | Andernfalls genügt es, wenn der Client-Speicher für vertrauenswürdige Zertifizierungsstellen das Wurzel-Zertifikat in der richtigen Vertrauensstellung enthält. | ||
- | |||
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 195: | Zeile 262: | ||
\\ | \\ | ||
- | {{tag> | + | {{tag> |