Auch wenn alle von Let’s Encrypt schwärmen, gibt es kostenlose SSL Zertifikate auch bei StartSSL. Die kostenlos ausgegeben Zertifikate müssen nach ein Jahr erneuert. StartSSL hat kürzlich die Website erneuert und dabei auch einiges beim Erstellen und verlängern der Zertifikate geändert. Leider ist das neue Interface schlecht dokumentiert und erklärt so das ich bei einer kürzlichen Verlängerung doch einige Probleme hatte darauf durchzusehen. Es muss also nicht sein das ich den besten Weg gewählt habe, aber es funktionierte. 🙂
Auf der Website einloggen muss man sich immer mit dem im Browser gespeicherten von StartSSL ausgebenen Client-Zertifikat. Hat man dieses verloren gibt es auch einen Weg direkt ein neues zu bekommen, ich habe dieses aber nicht getestet.
Wenn man als Neukunde ein SSL-Zertifikat bekommen möchte geht man über „Sign-Up“, füllt das entsprechende Formular aus, bestätigt die E-Mail Adresse und dann wird das nötige Client-Zertifikat direkt im Browser installiert. Dieses sollte man sich unbedingt sofort aus dem Zertifikatspeicher sichern.
Auch die Startseite wurde aufgeräumt, rechts finden sich die Basis-Account-Daten und man kann da auch bereits ausgebenene Zertifikate direkt herunterladen.
Unter „Tool Box“ findet man alle Werkzeuge zum Verwalten und Ausstellen von Zertifikaten, unter „Certificate List“ alle bisher ausgestellten Zertifikate.
Zunächst erneuerte ich das Client-Zertifikat. Die Auswahl „Renew“ springt auf den „Certificates Wizard“ und natürlich wählt man da „Client S/MIME and Authentication Certificate“ aus:
Da noch keine E-Mail-Adresse bestätigt wurde, kommt eine Fehlermeldung.
Der Link führt zum „Validations Wizard“, da wählt man „Email Validation“.
In der folgenden Maske gibt man eine (administrative) E-Mail-Adresse ein, auf man das Zertifikat ausstellen möchte, mach wenigen Sekunden erhält man eine E-Mail an diese Adresse mit einer Zeichenfolge, diese gibt man in der Maske ein.
Mit dieser bestätigen E-Mail-Adresse ist man nun in der Lage, innerhalb der nächsten 30 Tage ein Client-Zertifikat auszustellen.
Im „Certificates Wizard“ für „Client S/MIME and Authentication Certificate“ gibt man die bestätigte E-Mail Adresse ein. Voreingestellt ist das „Generated by PKI system“, weshalb ich das auch verwendete. Einzugeben und zu bestätigen ist außerdem ein Passwort für den privaten Schlüssel. Dieses muss man sich unbedingt merken.
Mit „submit“ wird ein entsprechender privater Schlüssel generiert. Diesen muss man sich unbedingt abspeichern da ich keinen Weg gefunden habe diesen zu einem späteren Zeitpunkt erneut herunterzuladen (deshalb kommt beim Druck auf „submit“ in dem Popup auch eine erneute Warnung).
Ist der private Schlüssel erzeugt, wird auch durch StartSSL das entsprechende Zertifikat erzeugt und steht zum Download bereit:
In der ZIP-Datei sind zwei Zertifikate, ein „1_Intermediate.crt“ (das benötigen wir jetzt nicht) und ein Zertifikat das auf die E-Mail-Adresse ausgestellt ist. Der Inhalt dieser „2_…“ Datei wird im übernächsten Schritt benötigt.
Aus diesem Zertifikat muss man mit dem privaten Schlüssel ein Client-Zertifikat generieren.
Dazu muss man zunächst den zuvor generieren privaten Schlüssel entschlüsseln. Man geht dazu in die „Tool Box“ zu „Decrypt Private Key“ und gibt da den zuvor erstellten privaten Schlüssel ein zusammen mit dem Passwort.
Dieser wird dann entschlüsselt und man speichert ihn z.B. in der Zwischenablage.
Mit dem entschlüsselten privaten Schlüssel und dem Zertifikat aus der ZIP-Datei kann man jetzt ein im Browser verwendbares Client-Zertifikat zu generieren, dazu geht man in der „Tool Box“ der StartSSL Website auf „Create PKCS#12 (PFX) File“ und kopiert alles in die Eingabefelder. Außerdem wählt man ein Passwort das man beim Import der PKCS Datei benötigt.
Die dann erstellte Datei steht dann zum Download bereit.
Sie kann dann entweder in den Windows-Zertifikatsspeicher (für Chrome oder den Microsoft-Browser) oder für Firefox unter Options->Advanced->Certificates importiert werden, dabei wird das oben angebene Passwort abgefragt. Außerdem sollte man sich diese Datei sicher ablegen.
Anschließend kann man sich aus der StartSSL-Website ausloggen und wenn man sich dann erneut einloggt muss das mit dem eben erzeugten Zertifikat erfolgreich funktionieren. Sonst hat man einen Fehler gemacht (was aber solange nicht schlimm ist, das alte Zertifikat ist noch gültig und man kann sich damit weiterhin einloggen und ggfs. einige o.g. Schritte wiederholen).
Danach kann man zur Generierung der SSL/TLS-Zertifikats übergehen.
Wenn man dazu in der „Tool Box“ auf „Certificate List“ (wo auch das eben ausgestellte Client-Zertifikat jetzt aufgelistet ist) geht findet man da eine Möglichkeit es zu erneuern:
Diese führt wieder in den bekannten“Certificates Wizard“, wo man dann „Web Server SSL/TLS Certificate“ auswählt
Da auch hier keine Domain von StartSSL validiert wurde kommt wieder eine Fehlermeldung
Der Link führt in den „Validations Wizard“ wo man „Domain Validation“ auswählt
Man gibt dort den Domainnamen an, StartSSL holt dann aus den whois-Informationen der Domain eine da eventuell vorhanden E-Email-Adresse (auf die man aber in der Regel keinen Zugriff hat) und schlägt weitere E-Mail-Adressen innerhalb der Domains vor. Eine davon muss man angeben und darauf auch Zugriff haben, da an diese ein Code verschickt wird dann man dann unten einzugeben hat.
Stimmt alles überein, kann man dazu übergehen ein SSL-Zertifikat zu bestellen
Um das Zertifikat zu beantragen, gibt man den bestätigten Hostnamen ein. Außerdem benötigt man ein „Certificate Signing Request (CSR)“. Dieses erstellt man mit einem (Windows-)Tool das auf der Seite zum Download bereit steht.
Ruft man es auf stellt man ein das ein per „OpenSSL“ ein „SSL Certificate“ beantragt, gibt den Domain-Namen und Land an. Außerdem gibt man an wo der private Schlüssel gespeichert werden soll und vergibt ein Passwort für diesen und sagt dann „Generate CSR“. Im rechten Teil des Fensters erscheint dann das CSR.
Das CSR kopiert man in das Formular auf der Webseite.
und mit „submit“ wird das Zertifikat von StartSSL erstellt und es steht wieder als ZIP-Datei zum Download bereit.
In der ZIP-Datei finden sich die Zertifikate für verschiedene Servertypen, ich behandele aber nur den Teil um das Zertifikat bei Apache-Servern einzusetzen. Beide Dateien werden auf dem Webserver benötigt und können schonmal in ein (sicheres) Verzeichnis auf diesem kopiert werden.
Außerdem braucht man noch den privaten Schlüssel. Dieser muss wieder „entschlüsselt“ werden, also z.B. in der „Tool Box“ unter „Decrypt Private Key“
In das Eingabefeld kopiert man den beim Anfordern des CSR erzeugten privaten Schlüssel mit dem dazugehörigen Passwort ein
Den ausgebenen entschlüsselten private Key kopiert man in eine eigene Datei auf dem Webserver. Ich habe sie mal im gleichen Verzeichnis angelegt in dem auch die Zertifikate sind. Diese Datei sollte nur für root lesbar sein (chmod 400)
Anschließen muss man Apache in der Konfiguration des virtuellen Servers nur noch sagen wo er die Zertifikate und den private Key findet
und nach einem Neustart des Servers wird das neue Zertifikat gefunden
Viel Spaß beim sicheren Netz!