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 

Sollten Sie zusätzliche Zertifikatsnamen benötigen ("subject alternative names", SANs), verwenden Sie bitte folgende Vorlage (und ersetzen dabei "servername" durch Ihren Servernamen und tragen unter DNS.1 usw. die benötigten SANs ein):
 

[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

 
 Erstellen Sie dann  mit folgendem Befehl den SSL Schlüssel (server key) und die Zertifikatsanfrage (certificate request):
 

# 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

 

Sollten Sie zusätzliche Zertifikatsnamen benötigen ("subject alternative names", SANs), verwenden Sie bitte folgenden Befehl  (und ersetzen dabei "servername" durch ihren Servernamen und tragen unter DNS die benötigten SANs ein). Beachten Sie, dass die Angabe von SANs erst ab Version 1.1.1 von OpenSSL über die Kommandozeile möglich ist. Bei älteren Versionen ist zwingend die Verwendung einer Konfigurationsdatei notwendig.
 

# 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

Nach oben scrollen