Verwendung von TLS/SSL Server-Zertifikaten
Wir stellen verschiedene Typen von TSL/SSL Server-Zertifikaten zur Verfügung:
- Einfaches SSL Zertifikat
Das einfache SSL Zertifikat schützt eine Domain (Bsp. www.example.com). - Multi-Domain SSL Zertifikat
Das Multi-Domain SSL Zertifikat schützt mehrere Domains (Bsp. www, mail, dns.example.com).
Die Zertifikate werden über unseren Zertifikats-Beauftragten am ZID beantragt. Dazu erstellen Sie einen Zertifikatsrequest (CSR) und senden den CSR und mit dem Zertifikatstypwunsch (siehe oben) an cert-admin@uibk.ac.at.
Zertifikats-Request erstellen
Bitte gehen Sie zum Erstellen von Zertifikaten gemäß der Anleitung Ihrer Software vor. Im Folgenden wird nur die Erstellung von Zertifikaten und Zertifikats-Requests mit OpenSSL beschrieben, weil dies der häufigste Anwendungsfall ist.
Zertifikats-Request mit OpenSSL erstellen
Sie können die Einstellungen für das Zertifikat entweder vorab in einer Datei speichern oder aber interaktiv auf der Kommandozeile angeben. Im Folgenden werden beide Varianten beschrieben.
Mit Konfigurationsdatei
Erstellen Sie eine Konfigurationsdatei für das Zertifikat, zum Beispiel /etc/ssl/ssl.cnf mit folgendem Inhalt (ersetzen Sie "servername" durch den Namen Ihres Servers):
[req]
default_bits = 4096
prompt = no
distinguished_name = req_distinguished_name
[ req_distinguished_name ]
countryName = AT
stateOrProvinceName = Tyrol
localityName = Innsbruck
organizationName = University of Innsbruck
commonName = servername.uibk.ac.at
[req]
default_bits = 4096
distinguished_name = req_distinguished_name
req_extensions = req_ext
prompt = no
[ req_distinguished_name ]
countryName = AT
stateOrProvinceName = Tyrol
localityName = Innsbruck
organizationName = University of Innsbruck
commonName = servername.uibk.ac.at
[ req_ext ]
subjectAltName = @alt_names
[alt_names]
DNS.1 = testalias1.uibk.ac.at
DNS.2 = testalias2.uibk.ac.at
# openssl req -out /etc/ssl/ssl.csr -newkey rsa:4096 -days 365 -sha256 -keyout /etc/ssl/ssl.key -config /etc/ssl/ssl.cnf
Wenn Sie bereits ein bestehendes Zertifikat haben, können Sie mit folgendem Befehl eine neue Zertifikatsanfrage erstellen:
# openssl req -sha256 -new -key /etc/ssl/ssl.key -out /etc/ssl/ssl.csr -config /etc/ssl/ssl.cnf
Kommandozeile
Wir empfehlen, die oben beschriebene Variante der Erstellung mit einer Konfigurationsdatei zu verwenden, weil Sie damit besser ihre gewählten Einstellungen dokumentieren.
Wenn Sie dennoch eine Erstellung per Kommandozeile verwenden wollen, verwenden Sie bitte folgenden Befehl (ersetzen Sie "servername" durch den Namen Ihres Servers):
# openssl req -new -newkey rsa:4096 -days 365 -sha256 -nodes -keyout /etc/ssl/ssl.key -subj "/C=AT/ST=Tyrol/L=Innsbruck/O=University of Innsbruck/CN=servername.uibk.ac.at/" -out /etc/ssl/ssl.csr
# openssl req -new -newkey rsa:4096 -days 365 -sha256 -nodes -keyout /etc/ssl/ssl.key -subj "/C=AT/ST=Tyrol/L=Innsbruck/O=University of Innsbruck/CN=servername.uibk.ac.at/" -addext "subjectAltName = DNS:serveralias1.uibk.ac.at, DNS:serveralias2.uibk.ac.at" -out /etc/ssl/ssl.csr
Tests
Testen Sie die generierte Zertifikatsanfrage mit folgendem Befehl:
# openssl req -in /etc/ssl/ssl.csr -text -noout | less
Zertifikate verwenden
Nachdem das Zertifikat von den Zertifikats-Administratoren erstellt wurde, erhalten Sie dieses per E-Mail.
In dem Mail finden Sie das Zertifikat in verschiedenen Formaten, mit und ohne Certificate Chain. Für die meisten Anwendungen benötigen Sie das PEM-Format ohne Certificate Chain. Siehe dazu die Dokumentation Ihrer Software bzw. Ihres Servers.
Anwendungsbeispiele
Beispiel 1: Apache Webserver (RHEL)
- Unter RHEL installieren Sie bitte die RPM-Pakete httpd und mod_ssl.
- Aktivieren Sie unter /etc/httpd/conf.d/ssl.conf folgende Konfiguration ein:
SSLEngine on
SSLCertificateFile /etc/pki/tls/certs/cert.crt
SSLCertificateKeyFile /etc/pki/tls/private/cert.key
Beispiel 2: HAProxy
- Unter RHEL installieren Sie bitte das RPM-Paket haproxy.
- Laden Sie aus dem Zertifikats-Mail über den Link "as Intermediate(s)/Root only" das Intermediate Certificate herunter (Datei GEANTOVRSACA4.crt).
- Erstellen Sie eine Zertifikatskette (Chain) mit Root-, Intermediate-, Server-Zertifikat und privaten Schlüssel:
# cat server.crt GEANTOVRSACA4.crt server.key > cert.pem
- Beispielkonfiguration für HAProxy:
frontend localhost
bind *:80
bind *:443 ssl crt /etc/haproxy/cert.pem
mode http