WoSign und Startcom mussten den Betrieb einstellen nach mehreren schwerwiegenden Problemen. Diese Anleitung ist also nicht mehr nutzbar, aber die Anleitung zu Let’s Encrypt ist weiterhin nutzbar und empfohlen.

WoSign stellt kostenlose Multidomain SNI SSL Zertifikate mit sha256RSA mit einer Laufzeit von 3 Jahren aus.

Hier erkläre ich, wie man an ein Zertifikat kommt, wo die Tücken dabei sind und wo WoSign noch nachbessern muss. Zuerst sind gratis Zertifikate ja nun jetzt nichts neues auf dem Markt. StartCom stellt seit vielen Jahren, 1 Jahres Zertifikate aus, im September 2015 wird Let’s Encrypt kommen und CloudFlare verschlüsselt seit Ende September auch alles. Doch WoSign macht eines richtig, es stellt SNI Zertifikate nach rfc 6066 aus. Also 5 Domains passen auf ein Zertifikat, normalerweise müsste man dafür 5 eigenen IP Adressen buchen. Das ist bei den mehr und mehr ausgehenden IPv4 Adressen natürlich ein Problem. Auch ist das Zertifikat 3 Jahre gültig, man muss also nicht jedes Jahr an die Verlängerung denken. WoSign ist außerdem mit StartSSL Cross-signiert was es auf jedem System, welches StartSSL in seinem Trust Store hat gültig macht.

Wie bekomme ich das Zertifikat:

  • Besuche https://buy.wosign.com/free/
  • Schreibe in das Feld nun alle Domains und sub Domains welche Du in deinem Zertifikat haben möchtest. www.(*) ist in jedem Zertifikat automatisch enthalten.
  • Belasse alles auf den Standard Einstellungen. 3 Jahre Laufzeit, Englische Sprache und den SHA2 Algorithmus welches wichtig ist.
  • Bestätige nun, das die Domain(s) dir ist/sind durch eine Mail an den Webmaster oder das hochladen der .html Datei auf den Server.
  • Logge dich nun auf deinen Webserver per SSH an und generiere einen neuen SSL Schlüssel und den Certificate Signing Request (CSR). Dafür kannst du folgenden Befehl verwenden.
\# openssl req -out example.com.csr -new -sha256 -newkey rsa:4096 -nodes -keyout example.com.key
  • Wähle nun “Option 2:Generated by myself” und kopiere dein Inhalt der .csr in das Feld. Benutzte bitte nicht das zweite Feld, mehr dazu unten.
  • Gebe nun deine Email Adresse in das Feld ein und ein sicheres Passwort - am besten mit einem Passwort Manager - falls du noch keinen Account hast.
  • Bestätige nun das Captcha und die Nutzungsbedingungen und klicke auf “Submit Request”.
  • Die nächste Seite bestätigt dir nun, das deine Anfrage bei WoSign eingegangen ist und man diese nun überprüfen wird. Beachte, das dies nur während den Geschäftszeiten von WoSign in Beijing passiert. Die ungefähre Uhrzeit steht aber auch auf der Bestätigungsseite.
  • Wenn deine Anfrage angesehen und bestätigt wurde von WoSign, erhälst du eine Email mit einem Link. Nach einem Klick auf den Link, siehst du nocheinmal die Daten deines Zertifikates und musst ein Captcha eingeben.
  • Nun erhälst du eine ZIP welche Ordner von Apach, Nginx und Co enthält. Je nach Webserver lädst du die .crt nun auf deinen Server hoch und richtest alles ein.

Warum nicht Option 1 und WoSign den Key erstellen lassen?

Das ist ganz einfach. Um das Zertifikat auf seinem Server verwenden zu können benötigt man diesen Key. Wenn nun WoSign den Key erstellt und daraus den CSR erstellt und diese beiden Dinge in die falschen Hände gelangen, hat jeder die Möglichkeit dieses Zertifikat zu verwenden. Wenn ihr den Key aber auf eurem Server erstellt und nur den CSR an WoSign übersendet, hat WoSign oder ein Angreifer keine Möglichkeit damit etwas anzufangen. Denn mit dem CSR kann man nur Zertifikate ausstellen sie aber nicht nutzen, das kann nur der mit dem richtigen Schlüssel zum Schloss ;) Solltest du auf einem Sharehosting System sein frage bitte deinen Hoster ob er nicht so nett sei und für dich einen Schlüssel erstelle und das Zertifikat einbinde. Dies ist leider nicht immer kostenfrei und sollte einen vllt. zum wechseln anstoßen. Meine Empfehlung wäre hier Uberspace.de welcher einem eine Shell gibt und dazu viel Freiheit zu geringem Preis. Man muss allerdings gewillt sein das ganze auch zu lernen und zu verstehen. Ob dein Browser SNI unterstützt, kannst du übrigens hier testen sni.velox.ch.

Wo ist nun der Haken?

Jede Medaille hat zwei Seiten. WoSigns Server sind in China gelegen. Also in dem Teil der Welt wo Internetzensur groß geschrieben wird. Das ist ja soweit kein Problem StartCom hat seinen Sitz Israel. Das Problem ist nur, das deren Server und Routen dorthin recht langsam sind und bislang keine meiner OCSP Anfragen beantwortet haben. Zumindest ist meine Nginx Log recht Lang mit der Nachricht das ocsp6.wosign.com nicht oder zu lange benötigt zum antworten. Ein Freund hat herausgefunden, das man nicht zwangsläufig nur ein Zertifikat bekommt. Man kann auch hergehen und für jede Subdomain ein eigenes Beantragen. Die Limitierung dabei liegt bei lediglich 100 SNI Einträgen pro Zertifikat da es ansonsten einfach zu lange werden würde.

Meine Nginx SSL Konfiguration

Beachte, das du dies hier nur kannst wenn du deine Website auf deinem eigenen Server betreiben tust und nicht auf einem klassischen Share hoster dort bitte in die FAQ schauen oder solange nachfragen bis ihr SSL bekommt ;)

# cd /etc/ssl
# openssl dhparam -out dhparam.pem 4096
# nano /etc/nginx/sites-enabled/DOMAINNAME
ssl on;
ssl_certificate /etc/ssl/forum/2015/1_DOMAINNAME_bundle.crt;
ssl_certificate_key /etc/ssl/forum/2015/DOMAINNAME.de.key;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security 'max-age=31536000; includeSubDomains; preload';
ssl_session_timeout 5m;
resolver 213.73.91.35 8.8.8.8 8.8.4.4 valid=300s;
ssl_dhparam /etc/ssl/dhparam.pem;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_stapling on;
ssl_stapling_verify on;
ssl_trusted_certificate /etc/ssl/forum/2015/1_DOMAINNAME.de_bundle.crt;

Hier findet ihr noch Mozillas Richtlinien um in den NSS zu kommen https://wiki.mozilla.org/CA:BaselineRequirements
Und hier findet ihr Mozillas Vorschläge für die perfekten SSL Server Einstellungen https://wiki.mozilla.org/Security/Server_Side_TLS