StartSSL CA - Kostenfreie Webserver Zertifikate

Aufgrund einiger Schlampereien bei der Ausstellung von Zertifikaten wurde der Firma von namhaften Browsern das "Vertrauen" entzogen. Damit ist das Geschäftsmodell entfallen und diese CA gibt es nicht mehr. Alternative wäre z.B.: Let's Encrypt

Mit "StartCom" mit Firmensitz in Eilat, Israel gibt es seit 2009 eine weitere Zertifizierungsstelle, die es Ende 2009 über ein Update der Stammzertifizierungsstellen auf immer mehr Endgeräte schafft. Auch in Firefox 3.5.7 ist diese CA schon als vertrauenswürdig addiert. Allerdings dürfte es noch etwas dauern, bis die CA auf anderen Plattformen (z.B. Mobiltelefonen etc.) per Default installiert ist.

Das Stammzertifikat der Firma StartCom ist erst durch ein Stammzertifikatupdate Ende 2009 auch im Internet Explorer addiert worden (Siehe https://blog.startcom.org/?p=205). Es kann also sein, dass ältere Browser bzw. nicht aktuell gepatchte Systeme dem Zertifikat noch nicht vertrauen.

Diese Zertifizierungsstelle hat nämlich ein besonderes Angebot (Stand Anfang 2010): Ein normales Class 1 Webserver-Zertifikat ist kostenfrei. Auch ein OpenID genanntes Personenzertifikat für den Einsatz zur Anmeldung entsprechend kompatibler Seiten gibt es kostenfrei. Ebenso können Sie ein persönliches S/MIME-Zertifikat erhalten, mit dem Sie sich nicht nur an der StartSSL-Webseite anmelden können sondern auch Mails per S/MIME signieren oder PDF-Dateien signieren können.

Natürlich gibt es auch kostenpflichtige Angebote, z.B. Zertifikate mit Extended Validation, Laufzeiten von mehr als 1 Jahr oder mehrere Namen (SAN/UC-Zertifikate) aber wer nur mal schnell einen Webserver mit einem Zertifikat versehen will, ohne erst eine CA zu installieren zu müssen oder mit OpenSSL oder Selbstzertifikate zu hantieren, kann hier sehr einfach ein Zertifikat erhalten, welches bei aktuellen Browsern und Betriebssystemen sogar problemlos ohne Warnung akzeptiert wird. Doch zuerst einmal müssen Sie das Zertifikat beantragen. Die folgenden Bilder sollten den Prozess vom Januar 2010 aufzeigen.

Eine Übersicht der verschiedenen Produkte ist auf https://ww.startssl.com/?app=40 . Der Einstieg erfolgt über die URL: https://ww.startssl.com/?app=12. für neue Anwender ist ein Klick auf die Express-Line der schnellste Weg.

Aber bis zum fertigen Zertifikat sind folgende Dinge zu erledigen:

  • Persönliches Konto anlegen
    Zuerst müssen Sie sich als "Person" bei StartSSL ein Konto anlegen und sich mit einer Mailadresse ausweisen. Die Domain dieser Adresse muss nicht mit der Domäne des späteren Zertifikats übereinstimmen. Es sollte aber eine "permanente" Adresse sein. Allerdings erhalten Sie für dieses Konto ein Clientzertifikat für die Anmeldung.
  • Domain zuweisen
    Vor der Beantragung des Zertifikats müssen Sie nun nachweisen, dass Sie für die Domain überhaupt zuständig sind. Dazu sendet StartSSL eine Mail eine ausgewählte Mailadresse dieser Domain (Hostmaster, Postmaster, Webmaster, Whois-Kontakt) mit einem Validation-Code. Da kann man nur hoffen, dass alle Freemailer wie Web.de, GMX u.a. diese Adressen gesperrt haben.
  • Zertifikat per CSR anfordern
    Beim klassischen Weg erstellen Sie einen Certificate Signing Request (CSR), den Sie dann beim der CA einreichen. StartSSL nutzt beim kostenfreien Zertifikat vom CSR aber anscheinend nicht den übermittelten Namen, sondern nur ihre sonstige Daten und den PublicKey und erfragt den Namen im Zertifikat per Formular.
  • Zertifikat per Web anfordern
    Mit ihrem Konto und der überprüften Domainzugehörigkeit können Sie dann die Zertifikate anfordern. Die Einschränkung der kostenfreien Zertifikat sind die Laufzeit von 1 Jahr, dass nur ein Name pro Zertifikat enthalten ist und dass sie vielleicht noch nicht von allen Clients akzeptiert werden. Die Anforderung selbst kann dabei entweder über einen vorbereiteten Request (CSR) oder allein Webbasiert erfolgen.

Persönliches Konto anlegen

Zuerst benötigen Sie ein Konto, mit welchem Sie sich heute und später bei StartSSL authentifizieren. Anders als viele andere CAs nutzt StartSSL konsequent die Vorteile von Zertifikaten. Durch das Einrichten eines Kontos erhalten Sie ein persönliches Zertifikat, welches sie für die späteren Anmeldungen benötigen. Sie bekommen also später keinen Benutzernamen und Kennwort sondern melden sich mit ihrem Zertifikat an. Dazu müssen sie im nächsten Fenster natürlich erst mal ihre Adresse eingeben.

Bei der Übermittlung der Adressdaten müssen Sie noch einmal explizit bestätigen, das Sie die CA Policy gelesen habe 

Um die Gültigkeit der Daten zu validieren wird umgehend eine Mail an die angegebene Adresse mit einem Validation-Code gesendet:

Diesen Code müssen Sie dann im nächsten Fenster eingeben:


(Bildausschnitt)

Danach geht es schon umgehend weiter: Zuerst generiert die SSL einen privaten Schlüssel, wobei Sie die Sicherheitsstufe auswählen können:


(Bildausschnitt)

Der Schlüssel selbst wird dann aber über ihren Browser generiert. Beim Firefox sehen Sie folgendes Fenster kurz aufpoppen:

Danach geht es schon an die Installation des Zertifikats passend zum privaten Schlüssel.


(Bildausschnitt)

Die erfolgreiche Installation wird auch vom Browser bestätigt.

Die Bestätigung folgt auf dem Fuße.


(Bildausschnitt)

Da das installierte Zertifikat nun erst mal nur in ihrem Browser installiert ist, sollten Sie diese natürlich schon mal "sichern". Beim Firefox geht das über den Zertifikatmanager (Menü Extra - Zertifikatmanager)

Wenn Sie sich später wieder bei StartSSL anmelden, dann müssen Sie das Zertifikat vorweisen. Hier am Beispiel des Firefox

Domain zuweisen

Der nächste Schritt ist die Überprüfung, für welche Domains sie später Zertifikate anfordern dürfen. Die Länderdomäne können Sie nur aus einer Liste auswählen. Ein "Privates Zertifikat" für domäne.local o.ä. für den internen Einsatz ist ausgeschlossen.


(Bildausschnitt)

Über die Domäne sendet StartSSL nun eine Mail an einer der folgenden Mailadressen.


(Bildausschnitt)

Und auch hier wird wieder eine Bestätigungsmail samt Validation-Code an die Adresse gesendet:

Der Code ist wieder in der Webseite einzutragen.


(Bildausschnitt)

Nun weiß StartSSL, dass das vorher angelegt Konto auch berechtigt ist, Zertifikate für diese Domain zu beantragen. Allerdings nur für die nächsten 30 Tage. Danach sind die


(Bildausschnitt)

Zertifikat per CSR anfordern

StartSSL unterstützt zwar auch die Erstellung allein über die Weboberfläche aber wer den Aufwand einer Konvertierung der Dateien per OpenSSL in eine PFX-Datei scheut, sollte vielleicht doch eine Zertifikatsanforderung auf dem Webserver oder mit Exchange erstellen und dann bei StartSSL einreichen. Das geht recht einfach. Lesen Sie sich zuerst die Anleitung IIS SSL einrichten oder für Exchange Zertifikate durch.


(Bildausschnitt)

Auf dem nächsten Fenster sollten Sie "Skip" drücken, damit sie einen CSR einreichen können:


(Bildausschnitt)

Dann kommt das Formular um den CSR einzufügen:


(Bildausschnitt)

StartSSL verhindert einen zu kurzen Schlüssel derart, dass ein CSR mindestens einen 2048bit langen Schlüssel enthalten muss.


(Bildausschnitt)

Mit dem passenden CSR wird dann folgende Bestätigung angezeigt:


(Bildausschnitt)

Auch wenn im Zertifikat schon der Name enthalten ist, so scheint StartSSL diese Information zumindest beim kostenfreien Zertifikat nicht zu nutzen. Statt dessen wird die Domain aus der Liste der ihrem Konto zugeordneten Domänen abgefragt:

Um im nächsten Schritt dann den Host für diese Domäne zu erfragen:

Und dann das den geänderten Zertifikatsrequest einzureichen:


(Bildausschnitt)

Das Zertifikat wird nicht "sofort" ausgestellt. Ich weiß allerdings nicht, ob in Israel noch jemand die Anfrage sich genauer anschaut.


(Bildausschnitt)

Die Information, dass das Zertifikat letztlich ausgestellt wurde, kam bei mir innerhalb von 5 Minuten an die Mailadresse in meinem Konto:

Zurück auf der Webseite konnte ich das ausgestellte Zertifikat über die Toolbox abholen:


(Bildausschnitt)

Nach der Auswahl des gewünschten Zertifikats gibt es dieses als BASE64-codierten Textblock:


(Bildausschnitt)

Kopieren Sie sich diesen Text einfach wieder per Zwischenablage in Notepad und speichern diese als CER-Datei ab. Dies ist ihr Zertifikat, welches Sie nun wieder im IIS oder einer anderen Anwendung importieren können. 

Zertifikat per Webbrowser

Nachdem wir nun sowohl ein Konto haben und für die Domäne "zugelassen" sind, kann das gewünschte Zertifikat beantragt werden. StartSSL erlaubt sowohl die Einreichung eines "Certificate Signing Request (CSR)" als auch die direkte Generierung eines Zertifikats samt private Key durch die Zertifizierungsstelle.

Die nun beschriebene Generierung per Formular führt zu Textdateien, die mit OpenSSL erst in Windows konforme PFX-Dateien konvertiert werden müssen. Nutzen Sie im folgenden Fenster besser die SKIP-Funktion, um eine lokal erstellte Request-Datei einzustellen.


(Bildausschnitt)

Zusätzlich werden sie noch einmal explizit darauf hingewiesen, dass sie auch mit einem CSR arbeiten können.

Danach sehen Sie den "Private Key"


(Bildausschnitt)

Dann wählen Sie die Domain dazu aus


(Bildausschnitt)

Um dann den Hostnamen für das Zertifikat anzugeben.


(Bildausschnitt)

Damit sind alle Daten für ein einfaches Webserverzertifikat erfasst und das Zertifikat kann angefordert werden. Die Bestätigung zeigt noch mal den Hostnamen an. Wobei StartSSL wie auch GoDaddy nicht nur den angeforderten Namen sondern auch die Domäne als zusätzlichen Namen addiert.


(Bildausschnitt)

Aber auch wenn alles "gut" aussieht, so behält sich StartSSL eine Prüfung vor. Erwarten Sie also nicht sofort ein Zertifikat. 


(Bildausschnitt)

In diesem Fall hat es gerade mal 15 Minuten gedauert, bis die Bestätigungsmail den Weg in meinen Posteingang gefunden hat.

Über die Toolbox kann ich dann das Zertifikat herunterladen.:


(Bildausschnitt)

Das Zertifikat selbst ist auch wieder der bekannte Textblock

Der Textbaustein kann einfach über die Zwischenablage in Notepad übertragen und mit der Endung "CER" speichern. Ein Doppelklick auf die CER-Datei zeigt dann auch direkt das Zertifikat:

In Kombination mit dem vorab schon gesicherten privaten Schlüssel sind nun alle Komponenten zusammen. Da ich aber hier nicht den Weg über die Einreichung eines Certificate Signing Request (CSR) gewählt habe, liegen die Dateien nun in einer Form vor, wie ein Apache o.ä. damit umgehen kann. Ein IIS kann die Dateien so erst mal nicht nutzen.

Dateien in PFX konvertieren

In so einem Fall hilft aber OpenSSL weiter. Mit OpenSSL können Sie aus diesen Texten eine PFX-Datei zum Import im IIS erstellen. Aber auch die Toolbox von StartSSL erlaubt die Konvertierung aus Public und Private Key über den Webbrowser.


(Bildausschnitt)

Allerdings bedeutet dies natürlich, dass Sie ihren privaten Schlüssel damit zu StartSSL übertragen.

Weitere Links