Kostenlose SSL Zertifikate

SSL (= Secure Sockets Layer) fast jeder kennt es und nutzt es für die sichere Interaktion mit Webserver.

Erstmal kurz etwas zu SSL: SSL, seit Version 3 TLS (= Transport Layer Security) genannt, wird beispielsweise im Internet für die sichere Verbindung zwischen Client und Webservern (z.B. Onlinebanking) genutzt. Dabei geht es darum die Verbindung zwischen den 2 Rechnern zu schützen, sodass keine dritten die übertragenen Daten auslesen können. In dem Fall wird das Protokoll HTTPS genutzt.

Es gibt mehrere Wege ein SSL Zertfikat zu erstellen bzw. ausgestellt zu bekommen. Ich erkläre euch 2 Wege:

1. Weg: Selbstsigniertes SSL Zertifikat ausstellen

Mit diesem Weg könnte Ihr euch ein selbst signiertes SSL Zertifikat ausstellen. In diesem Beispiel nutzen wir dafür OpenSSL, ein Programm welches unter den meisten Linux Distributionen genutzt wird. Die folgenden Befehle müsst Ihr entsprechend eurer Wünsche anpassen. Während des Prozesses werden mehrere Eingaben verlangt. Minimal müsst Ihr dabei den „Country Name“ (z.B. DE), und den „Common Name“ (z.B. domain.de, *.domain.de für ein Wildcard Zertifikat) angeben.

1. Private Key erzeugen

openssl genrsa -out domain.de.key 2048
domain.de.key entspricht dabei dem Dateinamen des Keys

2048 ist die Verschlüsselung in Bit (z.B. auch 4096 Bit möglich für eine höhere Verschlüsselung

2. Zertifikat Request erstellen

openssl req -new -key domain.de.key -out domain.de.csr

domain.de.csr lautet der Dateiname für die Zertifikat Request

3. Zertifikat austellen

openssl x509 -req -days 3650 -in domain.de.csr -signkey domain.de.key -out domain.de.crt
3650 ist die Anzahl der Tage wielang das Zertifikat gültig sein soll

domain.de.crt ist der Dateiname für das neue SSL Zertifikat

Vorteile:
+ schnelle Möglichkeit
+ kostenlos
+ jede Art von Zertifikat ohne Bestätigung möglich

+ Gültigkeit kann man selbst bestimmen

Nachteile:
– fehlendes Vertrauen in den Browsern
– Zertifikat muss erst importiert werden
– Möglichkeit umständlich eine eigene CA (=Certificate Authority) zu erstellen

– Man müsste jedem User erklären wie er das CA Zertifikat importiert

2. Weg: SSL Zertifikat über StartCom StartSSL austellen

Mit diesem Weg werden wir uns ein kostenloses Zertifikat bei StartCom StartSSL austellen lassen.

1. Account bei StartSSL anlegen

Dafür geht Ihr auf diese Seite und klickt dort auf Sign-up, die Daten welche dort verlangt werden füllt Ihr wahrheitsgemäß aus und klickt anschließend auf Continue. (Seite nicht schließen!) Danach solltet Ihr eine Bestätigungsmail mit einem Code erhalten haben, diesen gebt Ihr in das Textfeld auf der StartSSL Seite ein. Die Registration wird dann noch überprüft und innerhalb von 6 Stunden bestätigt. Sobald die Registration überprüft wurde erhaltet Ihr einen weiteren Link auf den Ihr klicken müsst.

2. Benutzer Zertifikat erstellen

Jetzt müsst Ihr ein privates Zertifikat erstellen, mit dem Ihr euch in das Kontrollpanel einloggen könnt. Einfach dem Assistenten folgen und das Zertifikat anschließend im Browser installieren. Nun können wir das Kontrollpanel von StartSSL endlich nutzen.

3. Domain verifizieren

In diesem Schritt müsst Ihr die Domain, auf dem das Zertifikat ausgestellt werden soll, verifizieren. Dazu geht Ihr im Kontrollpanel oben auf Validations Wizard, danach wählt Ihr als Type Domain Name Validation aus und klickt Continue. Nun müsst Ihr die entsprechende Domain, auf welche das Zertifikat ausgestellt werden soll, eingeben. Danach müsst Ihr eine der E-Mail Adressen auswählen und falls Sie noch nicht existieren erstellen. Sobald Ihr wieder auf Continue geklickt habt, überprüft eurer E-Mail Postfach der ausgewählten E-Mail und kopiert den darin enthaltenen Bestätigungscode wieder in das Textfeld. Jetzt ist die Domain für 30 Tage verifiziert.

4. Private Key und Zertifikat Request erstellen (optional)

Falls Ihr euren Private Key nicht von einer Website generieren lassen wollt müsst Ihr diesen selbst generieren. Dazu nutzt Ihr einfach den Schritt 1 aus der Anleitung oben (1. Weg). Danach müsst Ihr noch die Zertifikat Request erstellen (ebenfalls oben beschrieben – Schritt 2).

5. Zertifikat ausstellen lassen

Dafür müsst im Kontrollpanel oben den Certificates Wizard auswählen. Als Certificate Target wählt Ihr einfach Web Server SSL/TLS Certificate aus, dies kann man wie der Name schon sagt in Verbindung mit Webservern nutzen. Danach kommt es darauf an ob Ihr in Schritt 4 ein Private Key und ein Zertifikat Request erzeugt habt, falls ja könnt Ihr auf Skip klicken, danach müsst ihr die erzeugte Zertifikate Request in das Textfeld einfügen und wieder auf Continue klicken. Falls nicht gebt ein sicheres Passwort (10-32 Zeichen) bei Key Password und Confirm Password ein. Ihr könntet auch noch die Keysize anpassen, falls Ihr wollt. Danach bekommt Ihr euren Private Key angezeigt, diesen müsst Ihr unbedingt abspeichern! Nun wählt Ihr die Domain für das Zertifikat aus. Danach gebt Ihr die Subdomain ein für die das Zertifikat neben der Hauptdomain ebenfalls gültig sein soll (z.B. www). Zum Schluss sollte euch das Zertifikat angezeigt werden. Falls nicht kann es sein, dass StartSSL dies erst bestätigen muss. Ihr solltet in dem Fall eine E-Mail erhalten in der dann steht, dass das Zertifikat bestätigt wurde und Ihr es im Kontrollpanel herunterladen könnt.

Nun habt Ihr eure Zertifikat, welches für 1 Jahr gültig ist.

6. Intermediate Zertifikat herunterladen

Das Intermediate Zertifikat (=Zwischenzertifikat) wird benötigt, damit das Zertifikat als gültig betrachtet wird. Dieses könnt Ihr ganz einfach von http://www.startssl.com/certs/sub.class1.server.ca.pem herunterladen.

Vorteile:
+ kostenlos
+ vertrauenswürdiges Zertifikat

+ es muss nichts dem User erklärt werden

Nachteile:
– Zertifikat ist nur für die Hauptdomain und eine Subdomain gültig
– Laufzeit auf 1 Jahr beschränkt
– Ablauf dauert ein Stück länger als bei einem selbstsignierten Zertifikat