Springe zum Hauptinhalt
Universitätsrechenzentrum
Anfordern eines Server-Zertifikats (manuell)

Anfordern eines Server-Zertifikats

Hier wird ein manuelles Verfahren beschrieben. Bitte verwenden Sie bevorzugt Let’s-Encrypt-Zertifikate, die per ACME-Verfahren automatisiert erneuert werden.

Erzeugen eines TLS-Schlüssels und Anfordern eines X.509-Zertifikats für einen sicheren Webserver (https)

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/TLS-Pakets, 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 3072 Bit lang ist. (Für Zertifikate der DFN-Verein Community PKI (weitere Informationen) müssen es 4096 Bit sein.)

  • Erzeugen des Schlüssels: Schlüssellänge 3072 Bit (derzeit können nur Zertifikate für RSA-Schlüssel ausgestellt werden; kleinere Schlüssellängen nur noch bis 2022 vom BSI empfohlen):
    openssl genrsa -aes256 -out server.key.pem 3072
  • 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

  • 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:

Bitte senden Sie den CSR an .

Server testen

Nach erfolgreichem Start kann der Server getestet werden; am Beispiel eines sicheren Webservers:

  • Mit einem Webbrowser: https://server.name/. Schauen 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