Navigation

Inhalt Hotkeys
Universitätsrechenzentrum
Anfordern eines Server-Zertifikates

Erzeugen eines SSL-Schlüssels und Anfordern eines Zertifikates für einen sicheren Webserver (https)

Zur Beachtung: Informationen für Zertifikatinhaber in der DFN-PKI im Sicherheitsniveau Global (PDF)

Sie können natürlich auch andere Protokolle als HTTP absichern und damit gesicherte IMAP-, SMTP-Server usw. betreiben. Die Vorgehensweise ist analog, die Konfiguration des Servers unterscheidet sich natürlich von der eines Webservers.

0. Voraussetzungen:

  • Installation eines SSL-Paketes, z. B. OpenSSL
  • Installation eines https-fähigen Webservers, z. B. Apache httpd
  • Die lizenzrechtlichen Bestimmungen für die kryptografische Software sind zu beachten!

Die folgenden Kommando-Beispiele sind gültig bei Verwendung von OpenSSL.

1. Erzeugen eines privaten RSA-Schlüssels für den Server:

Wenn das Zertifikat verlängert werden soll, kann dieser Schritt entfallen, wenn der private Schlüssel mindestens 2048 Bit lang ist.

  • Erzeugen des Schlüssels: Schlüssellänge 2048 bit
    openssl genrsa -aes256 -out server.key.pem 2048
  • Anschauen des Schlüssel-Inhaltes:
    openssl rsa -noout -text -in server.key.pem
  • Evtl. ungesichert ablegen - (braucht man zum problemlosen Start des Webservers). VORSICHT: Zugriffsrechte setzen (nur lesbar für root)!
    openssl rsa -in server.key.pem -out server.key
    chown root server.key; chmod 400 server.key

2. Certificate Signing Request (CSR) erzeugen:

  • openssl req -new -key server.key.pem -out server.csr
    Achtung, jetzt wird's spannend! Die Namen sind exakt so anzugeben!
    You are about to be asked to enter information that will be incorporated
    into your certificate request. ...
    -----
    Country Name (2 letter code) []: DE
    State or Province Name (full name) []: Sachsen
    Locality Name (eg, city) []: Chemnitz
    Organization Name (eg, company) []:Technische Universitaet Chemnitz
    Organizational Unit Name (eg, section) []:Bereich
    Common Name (eg, YOUR name) []:servername.bereich.tu-chemnitz.de
    Email Address []: 
    Please enter the following 'extra' attributes
    to be sent with your certificate request
    A challenge password []:
    An optional company name []:
    

    Dadurch wird die Datei server.csr erzeugt.

  • Anschauen des Inhaltes:
    openssl req -noout -text -in server.csr
    Hier nochmal die exakte Schreibweise der Namens-Komponenten überprüfen, zum Beispiel:

    Subject C=DE, ST=Sachsen, L=Chemnitz, O=Technische Universitaet Chemnitz, OU=Universitaetsrechenzentrum, CN=test.hrz.tu-chemnitz.de/Email=webmaster@tu-chemnitz.de

  • Wenn Sie ein Zertifikat für mehrere Servernamen benötigen – ein sog. Multi-Domain- oder SAN-Zertifikat, finden Sie eine Anleitung unter Openssl Multi-Domain CSR erstellen.

3. Zertifikat anfordern:

Zur Ausstellung eines Zertifikates durch die TU Chemnitz – DFN-PKI gehen Sie wie folgt vor:

  • Laden Sie im Webbrowser: Serverzertifikat beantragen (in neuem Tab)
  • Laden Sie dort Ihre eben erzeugte Datei server.csr hoch.
  • Wählen Sie als Zertifikatsprofil „Shibboleth IdP SP“, wenn Ihr Webserver am Web-Trust-Center teilnehmen will, ansonsten „Web Server“. Für andere Server-Typen entsprechend auswählen.
  • Geben Sie die E-Mail-Adresse an, an die das erzeugte Zertifikat – und vor Ablauf in 39 Monaten die Erinnerung zur Verlängerung – geschickt werden soll.
  • Drucken Sie den Zertifikatantrag aus, füllen Sie ihn aus und bringen Sie ihn persönlich zur Identifizierung in den Nutzerservice des URZ (Ausweis nicht vergessen).

4. Zertifikat empfangen und installieren:

  • Ist alles in Ordnung, werden Sie das Zertifikat bald per E-Mail empfangen. Die angehängte Datei mit der Endung .pem speichern Sie in einer Datei server.crt.
  • Inhalt anschauen:
    openssl x509 -noout -text -in server.crt
  • Nun kommt noch die feine Aufgabe für den Webmaster des Servers, den privaten Schlüssel und das Zertifikat entsprechend zu installieren und den Server zu konfigurieren. Als Anhaltspunkt ein Auszug aus der Konfig-Datei httpd.conf eines TU-Webservers. Das SSLCertificateChainFile finden Sie auf von URZ administrierten Linux-Servern unter /etc/pki/tls/certs/ca-chain2-noroot.crt oder hier zum Download.

5. HTTPS-Server testen:

Nach erfolgreichem Start kann der Server getestet werden:

  • Mit einem Webbrowser: https://server.name/. Scheuen Sie sich das Zertifikat mit Klick auf das Schloss-Symbol an.
  • Mit dem s_client-Werkzeug:
    openssl s_client -connect server.name:443
    GET / HTTP/1.0
  • Wenn der Server vom Internet aus erreichbar ist: SSL Server-Test von SSL Labs

Presseartikel