SSL für lau
Der israelische Anbieter StartSSL bietet kostenlose SSL-Serverzertifikate an, die immerhin ein Jahr gültig sind. Der Artikel zeigt, wie man ein Zertifikat für seine Domain dort beantragt und im Server installiert.
- Daniel Bachfeld
Da die Wurzelzertifikate von StartSSL bereits in gängigen Browsern enthalten sind, verursacht der Aufruf eines Zertifikats von diesem Anbieter keine Fehlermeldung. Dieser Artikel beschreibt beispielhaft alle Schritte, die von der Anmeldung bei StartSSL bis zur Integration des Zertifikats in einen Apache-Webserver unter Linux nötig sind.
Um ein Zertifikat für eine Domain zu erhalten, muss man lediglich Mails an einen adminstrativen Account empfangen können (postmaster, hostmaster oder webmaster). Eine weitergehende Prüfung, ob man der Eigentümer der Domain ist, findet nicht statt. (Das handhaben im Übrigen auch andere CAs wie RapidSSL ähnlich). Zudem ist ein ausgestelltes Zertifikat nur dann nützlich, wenn man es in seinem Server auch installieren kann. Inhabern einer "Visitenkarten"-Homepage bei einem Webhoster nützt solch ein Zertifikat also nichts, da sie keinen Zugriff auf die Serverkonfiguration haben
Die Vorgehensweise für Apache unter Windows oder beim Internet Information Server unter Windows ist ähnlich. Beim IIS führt man alle erforderlichen Schritte in der Microsoft Management Console (MMC) aus.
StartSSL in der Praxis (13 Bilder)
Domain-Validierung
Auf die Plätze!
Grundsätzlich ist der Ablauf bei der Ausstellung eines Zertifikats immer der Gleiche. Zunächst generiert man sich ein Schlüsselpaar (einen öffentlichen und einen privaten Schlüssel). Unter Linux und BSD-Derivaten erledigt man das beispielsweise mit
openssl genrsa -out example.com.key 2048
Dieser Befehl erzeugt die Schlüssel mit jeweils 2048 Bit Länge und speichert sie zusammen in der Datei example.com.key. Der Zusatz -des3 sichert den Schlüssel mit einem Passwort, allerdings muss man dieses später beim Start des Webservers angeben. Der Befehl
openssl req -new -key example.com.key -out example.com.csr
liest den öffentlichen Schlüssel aus der Key-Datei und erstellt damit einen sogenannten Certificate Signing Request (CSR). Der CSR enthält üblicherweise Angaben zum Inhaber des Schlüssels wie Organisation, Land, Ort, E-Mail-Adresse und die Adresse des Servers (Common Name, CN) für die das Zertifikat ausgestellt werden soll, also www.example.com. Daneben enthält der CSR den öffentlichen Schlüssel. Den CSR schickt man zur Certificate Authority, die ein Zertifikat erstellt. Das Zertifikat wiederum enthält den öffentlichen Schlüssel, Angaben zum Inhaber und zum Aussteller sowie die digitale Signatur des Ausstellers über alle enthaltenen Informationen und den Schlüssel. Damit ist der Schlüssel an eine Identität gebunden. Das fertige Zertifikat speichert man auf seinem Server, der es auf Anfrage eines Clients ausliefert. So weit die Theorie.