Wissen, was gut ist. Studieren in Chemnitz.

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

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

0. Voraussetzungen:

Installation eines SSL-Paketes:
OpenSSL
Installation eines https-fähigen WWW-Servers
Apache, bei Apache Version 1 mit mod_ssl
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 -des3 -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 WWW-Servers). 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 []:admin@bereich.tu-chemnitz.de
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, O=Technische Universitaet Chemnitz, OU=Universitaetsrechenzentrum, CN=req.hrz.tu-chemnitz.de/Email=webmaster@tu-chemnitz.de

3. Zertifikat anfordern:

Zur Ausstellung eines Zertifikates durch die Zertifizierungsstelle des Universitätsrechenzentrums der TU Chemnitz (TUC/URZ-CA) gehen Sie wie folgt vor:
  • Laden Sie im WWW-Browser: Serverzertifikat beantragen
  • Laden Sie dort Ihre eben erzeugte Datei server.csr hoch.
  • Wählen Sie als Zertifikatsprofil Shibboleth IdP SP, wenn Ihr WWW-Server am Web-Trust-Center teilnehmen will.
  • Geben Sie die E-Mail-Adresse an, an die das erzeugte Zertifikat 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, das Zertifikat entsprechend zu installieren und den Server zu konfigurieren. Als Anhaltspunkt ein Auszug aus der Konfig-Datei httpd.conf eines TU-WWW-Servers.

5. HTTPS-Server testen:

Ist alles i.O., kann der Server getestet werden:
Mit einem WWW-Browser:
https://server.name/
Mit dem s_client Werkzeug:
openssl s_client -connect server.name:443
GET / HTTP/1.0