Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
opensslcert [2023/01/10 15:40] – [Schlüsselpaar generieren] rwelteopensslcert [2025/02/06 18:03] (aktuell) minnich
Zeile 1: Zeile 1:
-====== Serverzertifikat mit openSSL bearbeiten ======+====== Einen CSR-Requests für ein Serverzertifikat mit openSSL erstellen ======
  
  
Zeile 6: Zeile 6:
 Für Windows-Systeme können Sie das Programmpaket hier herunterladen:  Für Windows-Systeme können Sie das Programmpaket hier herunterladen: 
 **[[http://www.slproweb.com/products/Win32OpenSSL.html]]** **[[http://www.slproweb.com/products/Win32OpenSSL.html]]**
- 
  
  
Zeile 116: Zeile 115:
 </code> </code>
  
-Die Datei server1.csr können Sie im Web-Interface der Uni-FR CA 
  
-**[[https://pki.pca.dfn.de/uni-freiburg-ca-g2/pub|Link zur DFN PKI zur Beantragung des Zertifikats]]** +\\ \\ 
- +{{tag>intern}}
- +
-direkt über die Schaltfläche **Durchsuchen** hochladen lassen. +
- +
- +
-Das Antragsverfahren mit Hilfe des Web-Interface der Uni-FR CA ist beschrieben in dem Dokument +
- +
-  * **[[serverzertifikat|Serverzertifikat beantragen]]** +
- +
-\\ +
- +
-===== Zertifikat und privaten Schlüssel installieren ===== +
- +
-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://pki.pca.dfn.de/uni-freiburg-ca/pub/cacert/g_rootcert.crt|Zertifikat der Wurzelzertifizierungsstelle]]** der Deutschen Telekom, das **[[https://pki.pca.dfn.de/uni-freiburg-ca/pub/cacert/g_intermediatecacert.crt|Zwischenzertifikat der DFN-PKI]]** sowie das **[[https://pki.pca.dfn.de/uni-freiburg-ca/pub/cacert/g_cacert.crt|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...". Die heruntergeladenen Dateien werden gespeichert unter den Namen **g_deutsche-telekom-root-ca-2.crt**, **g_dfn_intermediatecert.crt** bzw. **g_unifrcacert.crt**. +
- +
-**Sie finden eine aktuellere Version der Zertifikatskette** **[[https://pki.pca.dfn.de/dfn-ca-global-g2/pub/cacert/chain.txt|hier]]** +
- +
-Die Installation des Zertifikates hängt von den Anforderungen des Dienstes ab, für den es beantragt wurde. +
- +
-Im vorliegenden **Beispiel** soll gezeigt werden, wie das Zertifikat für **Jakarta Tomcat** zugänglich gemacht wird. +
- +
-Als erstes importieren Sie die drei Zertifikate der Zertifikatskette in die keystore-Datei: +
- +
-<code> +
-ohne Passwortschutz: +
-$ cat g_deutsche-telekom-root-ca-2.crt >>/var/lib/.keystore +
-$ cat g_dfn_intermediatecert.crt >>/var/lib/.keystore +
-$ cat g_unifrcacert.crt >>/var/lib/.keystore +
-$ cat server1.pem >>/var/lib/.keystore +
- +
-mit Passwortschutz (bei bisher ungeschütztem .keystore): +
-$ cat g_deutsche-telekom-root-ca-2.crt >>/var/lib/.keystore +
-$ cat g_dfn_intermediatecert.crt >>/var/lib/.keystore +
-$ cat g_unifrcacert.crt >>/var/lib/.keystore +
-$ cat server1.pem >>/var/lib/.keystore +
-$ cat /var/lib/.keystore | openssl enc -e -des3 -out /var/lib/.keystore +
-enter des-ede3-cbc encryption password: ***** +
-Verifying - enter des-ede3-cbc encryption password: ***** +
- +
-mit Passwortschutz (bei bisher geschütztem .keystore): +
-$ openssl enc -d -des3 -in /var/lib/.keystore -out tempstore +
-enter des-ede3-cbc decryption password: ***** +
-$ cat g_deutsche-telekom-root-ca-2.crt >>/var/lib/.keystore +
-$ cat g_dfn_intermediatecert.crt >>/var/lib/.keystore +
-$ cat g_unifrcacert.crt >>/var/lib/.keystore +
-$ cat server1.pem >>tempstore +
-$ openssl enc -e -des3 -in tempstore -out /var/lib/.keystore +
-enter des-ede3-cbc encryption password: ***** +
-Verifying - enter des-ede3-cbc encryption password: ***** +
-$ rm tempstore +
-</code> +
-<note warning>Die Zertifikate können in einem nicht korrektem Encoding vorliege. Dies führt im Apachen zum AH02561-Fehler und einem nicht aufstarten, in diesen Fall sollten Sie die .crts umkodieren <code>openssl x509 -in g_deutsche-telekom-root-ca-2.crt -inform DER -out root.crt +
- </code></note> +
-<note tip>Falls das Zertifikat unter Android nicht funktioniert, kann es an der Reihenfolge des cat-Befehles liegen. Versuchen Sie <code>cat server1.pem g_unifrcacert.crt g_dfn_intermediatecert.crt g_deutsche-telekom-root-ca-2.crt >full.crt</code></note> +
- +
-Nun teilen Sie **tomcat** in der Datei **server.xml** im **conf**-Verzeichnis mit, wo das Server-Zertifikat zu finden ist. +
-Falls Sie den Zertifikatsspeicher mit einem Passwort geschützt haben, müssen Sie dieses hier im Klartext (!) eingeben. +
- +
-<code> +
-... +
-    <!-- Define a SSL HTTP/1.1 Connector on port 443 --> +
-    <Connector port="443" maxHttpHeaderSize="8192" +
-               maxThreads="150" minSpareThreads="25" maxSpareThreads="75" +
-               enableLookups="false" disableUploadTimeout="true" +
-               acceptCount="100" scheme="https" secure="true" +
-               keystoreFile="/var/lib/.keystore" +
-               keystorePassword="******" +
-               clientAuth="false" sslProtocol="TLS" /> +
-... +
-</code> +
-Das keystore-Password wurde mit '*' unkenntlich gemacht.\\ +
-In diesem Fall ist also die Schlüsseldatei mit einem Passwort geschützt.\\ +
-**Sie müssen aber nun dafür sorgen, dass die Datei server.xml mit dem Klartextpasswort nicht von unbefugten gelesen werden kann.** +
-\\ +
-Falls Sie den **Apache Webserver** mit mod_ssl einsetzen, tragen Sie die Keystore-Datei wie sie im obigen Beispiel hergestellt wurde, nach folgendem Schema in die Konfigurationsdatei **httpd-ssl.conf** ein: +
- +
-<code> +
-... +
-#   Server Certificate: +
-#   Point SSLCertificateFile at a PEM encoded certificate.  If +
-#   the certificate is encrypted, then you will be prompted for a +
-#   pass phrase.  Note that a kill -HUP will prompt again.  Keep +
-#   in mind that if you have both an RSA and a DSA certificate you +
-#   can configure both in parallel (to also allow the use of DSA +
-#   ciphers, etc.) +
-SSLCertificateFile "/var/lib/cert-from-ca.pem" +
- +
-#   Server Private Key: +
-#   If the key is not combined with the certificate, use this +
-#   directive to point at the key file.  Keep in mind that if +
-#   you've both a RSA and a DSA private key you can configure +
-#   both in parallel (to also allow the use of DSA ciphers, etc.) +
-SSLCertificateKeyFile "/var/lib/.keystore" +
-...  +
-</code> +
- +
-\\ +
- +
-===== Zertifikatskette bereitstellen ===== +
- +
-Wenn der Server die Zertifikatskette (SSLCertificateChainFile) nicht zum Client überträgt, ist man gezwungen, dort die Zwischenzertifikate manuell zu importieren. Es ist also zu empfehlen, seinen "Kunden" diesen Service zu bieten. +
- +
-In der SSL-Konfigurationsdatei von Apache findet man dazu den Parameter "SSLCertificateChainFile"+
- +
-Speichern Sie die Zertifikatskette, die aus drei aneinander gehängten PEM-Dateien besteht an einen Platz Ihrer Wahl und lassen Sie den Parameter darauf zeigen. Erhältlich ist das **[[https://pki.pca.dfn.de/uni-freiburg-ca/pub/cacert/chain.txt|ChainFile]]** auf den DFN-Webseiten der Uni FR CA. +
- +
-<code> +
-#   Server Certificate Chain: +
-#   Point SSLCertificateChainFile at a file containing the +
-#   concatenation of PEM encoded CA certificates which form the +
-#   certificate chain for the server certificate. Alternatively +
-#   the referenced file can be the same as SSLCertificateFile +
-#   when the CA certificates are directly appended to the server +
-#   certificate for convinience. +
-SSLCertificateChainFile "/var/lib/chain.pem" +
-...  +
-</code> +
- +
- +
-Normalerweise müssen Sie die Anwendungen anschließend neu starten, damit die Konfiguration wirksam wird und das Zertifikat verwendet werden kann. +
- +
-\\ +
- +
-===== Literatur ===== +
- +
-  * http://www.dfn-cert.de/informationen/themen/verschluesselung_und_pki/openssl-kurzreferenz.html +
-  * http://wiki.cacert.org/FAQ/subjectAltName +
-  * http://apetec.com/support/GenerateSAN-CSR.htm +
-  * http://wiki.gwdg.de/index.php/Erzeugung_von_Zertifikatantraegen_mit_Subject_Alternative_Name_fuer_virtuelle_Webserver_auf_Basis_von_OpenSSL_fuer_die_DFN-PKI\\ (An die lokalen Gegebenheiten anpassen!) +
-  * http://apetec.com/support/GenerateCSR.htm\\ (Für IIS 7 Microsoft Windows Server 2008) +
- +
-\\  +
-\\  +
-\\ +
  
-{{tag>zertifikate sicherheit openssl}} 
  
QR-Code
QR-Code Einen CSR-Requests für ein Serverzertifikat mit openSSL erstellen (erstellt für aktuelle Seite)