SSL-Zertifikate
SSL-Zertifikate bestätigen die Echtheit Ihrer Internetseite. So könnten Sie z. B. auch Ihre Kreditkartennummer auf Ihre Seite stellen. Dann könnte ein Händler mit entsprechendem Zugang die Echtheit Ihrer Internetseite überprüfen. Dies ist natürlich in mehrfacher Hinsicht nicht praktikabel. Vor allem sollten Sie Ihre vertraulichen Daten, wie die Kreditkartennummer niemals veröffentlichen! So entsteht die Notwendigkeit "vertrauenswürdiger Dritter", welche die Identität Ihrer Person oder Ihres Geschäfts bestätigen können. Dies geschieht mit SSL-Zertifikaten.
Authoritäten
"vertrauenswürdige Dritte" sind Stellen, welche Ihrem Browser bekannt sind. Sie können eine Liste mit diesen Authoritäten über Ihren Browser anzeigen.
Schlüssel
Um ein Zertifikat beantragen zu können, brauchen Sie einen Schlüssel, der bestätigt werden kann. Im Folgenden beschreibe ich die Schlüsselgeneration mit OpenSSL. Bei Bedarf müssen Sie dieses erst installieren.
Den Schlüssel erzeugen Sie dann auf einer Linux-Konsole mit
openssl genrsa -des3 -out domainname.key 1024
Nun hat der erzeugte Schlüssel ein Passwort. Das bedeutet, dass Sie jedesmal, wenn der SSL-Server neu startet ein Password angeben müssen. Einen Schlüssel ohne Passwort erzeugen Sie mit dem Kommando
openssl genrsa -out domainname.key 1024
Die Anfrage stellen
Mit diesem Schlüssel können Sie jetzt bei einer Authentifizierungs-Stelle einen Antrag auf ein Zertifikat stellen. Hierzu erzeugen Sie eine Zertifikatsanfrage:
openssl req -new -key domainname.key -out domainname.csr
Es werden Ihnen nun eine Reihe von Fragen gestellt. Zur Erklärung:
- Country Name - Der zweistellige Länderkode. Also z.B. DE für Deutschland.
- State or Province - Bundesstaat. z.B. BW.
- Locality Name - Ihre Stadt. z.B. Ludwigsburg.
- Organization - Der exakte Name Ihrer Firma. Verwenden Sie keine Abkürzungen.
- Organization Unit - Die Organistationseinheit für die das Zertifikat ausgestellt wird. z.B. Marketing.
- Common Name - Der Domänenname, für den das Zertifikat gültig sein soll. Also z.B. ssl-factory.de.
Sie werden dann noch nach einem sogenannten Challange Password gefragt. Hier müssen Sie sich bei der Zertifizierungstelle informieren. Meistens wird es leer gelassen.
Überprüfen Sie die Inhalte Ihres Zertifikatantrags mit:
openssl req -noout -text -in domainname.csr
Machen Sie dringend ein Backup von Ihrem Schlüssel und bewahren es an einem sicheren Ort auf.
Überprüfen Sie die Inhalte Ihres Schlüssels mit:
openssl rsa -noout -text -in domainname.key
Das Zertifikat installieren
Sobald Ihr Zertifkat beglaubigt wurde, bekommen Sie es zugeschickt. Sie erhalten eine Datei mit der Endung .crt.
Sie können den Inhalt dieser Datei mit dem folgenden Komando überprüfen:
openssl x509 -noout -text -in server.crt
Kopieren Sie diese Datei in den Order, in dem Sie in Zukunft Ihre Zertifikate speichern wollen. Suchen Sie nun den VirtualHost, für den dieses SSL-Zertifikat bestimmt ist in Ihrer Apache-Konfiguration. Fügen Sie folgende Zeilen ein:
SSLCertificateFile /usr/local/apache/conf/ssl.crt/domainname.crt SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/domainname.key
Passt Schlüssel und Zertifikat
Überprüfen Sie, ob der Schlüssel zu Ihrem Zertifikat passt mit folgendem Kommando:
openssl x509 -noout -modulus -in server.crt | openssl md5 openssl rsa -noout -modulus -in server.key | openssl md5
Sind die beiden ausgegebenen md5-Summen nicht identisch, passt Ihr Zertifikat nicht zu dem Schlüssel.
Micha, 4 Dez 2005

