SSL

SSL Zertifikat Anbieter

Ich verwende Zertifikate von StartSSL. Das ist der günstigste Anbieter (Class 1 Zertifikate sind kostenlos, Class 2/3/etc. sind vergleichsweise sehr günstig), den ich finden konnte und bin seit Jahren sehr zufrieden.

Unified CRT generieren (sec_error_unknown_issuer)

Nachdem man über den “Certificates Wizard” auf StartSSL.com das Zertifikat generiert hat, ist es wichtig, dass man die Root Certs von StartSSL (“Tool Box” -> “StartCom CA Certificates”) mit in das Zertifikat integriert. Ansonsten kann es z.B. im Firefox zum Fehler sec_error_unknown_issuer kommen, was bedeutet: Dieser Seite wird nicht vertraut.

Hierbei ist es wichtig, dass du – wenn du ein Class1 Zertifikat hast – entsprechend das sub.class1.server.ca.pem Zertifikat verwendest, bei Class 2 sub.class2.server.ca.pem, etc. Ausserdem wird auch das Root Cert ca.pem benötigt.

Wenn ich also ein Class 3 Zertifikat für Nginx generieren möchte, werden diese daten benötigt:

fetch https://www.startssl.com/certs/ca.pem
fetch https://www.startssl.com/certs/sub.class3.server.ca.pem

Diese werden nun zusammen mit meinem Zertifikat für den Domain (ssl.crt) zusammengeführt. Hierbei ist es absolut wichtig, dass das Zertifikat für den Domain an erster Stelle steht.

cat ssl.crt sub.class3.server.ca.pem  ca.pem > ssl-unified.crt

Das unified-crt wird dann in der Nginx Config bei ssl_certificate verwendet.

Kostenlos von SHA-1 auf SHA-2 upgraden

Wenn man ein noch aktives Zertifikat bei StartSSL hat, kann man dieses nicht einfach so von SHA-1 auf SHA-2 upgraden. Entweder müsste man warten, bis das Zertifikat abläuft oder man lässt das bestehende Zertifikat gegen eine Gebühr von US$ 24.90 löschen, damit man ein neues anfordern kann. Es gibt jedoch einen Trick:

Nehmen wir als Beispiel, du möchtest das Cert für www.domain.com upgraden:

Gehe in den Certificates Wizard und wähle an erster Stelle eine Subdomain, die du ev. gar nicht benötigst. z.B. blabla.domain.com. Als nächsten Eintrag (« Add More ») wählst du dann www.domain.com.

Dein Zert läuft danach unter dem Namen blabla.domain.com, www.domain.com ist darin integriert.

 

Testen

Folgende Tools helfen beim Testen des Setups:

Probleme

sec_error_ocsp_unknown_cert

Dieser Fehler taucht meistens nach einem Upgrade oder einer Neuinstallation eines Zertifikates auf und bedeutet, dass das Zertifikat noch nicht im “Online Certificate Status Protocol” registriert wurde. Daher ist es wichtig, dass man das neue Zertifikat vorher manuell testet, bevor man damit live geht. Kann bis zu 24 Stunden, bis das Zerfikat in der OCSP Datenbank zu finden ist.

Manuell testen mit openssl:

openssl ocsp \
-no_nonce \
-header "HOST" "ocsp.startssl.com" \
-issuer sub.class3.server.ca.pem \
-cert ssl.crt \
-url http://ocsp.startssl.com/sub/class3/server/ca \
-CAfile ca.pem

Beim Return ist nun diese Zeile wichtig:

Response Verify Failure
34381524552:error:27069065:OCSP routines:OCSP_basic_verify:certificate verify error:ocsp_vfy.c:138:Verify error:unable to get local issuer certificate
ssl.crt: good
        This Update: Jun 15 17:58:12 2015 GMT
        Next Update: Jun 17 17:58:12 2015 GMT

Bei diesem Result ist alles ok und man kann online gehen. Kommt jedoch:

ssl.crt: unknown

oder

ssl.crt: ERROR: No Status found.

Sollte man noch ein paar Stunden warten mit dem live schalten des Zertifikats.

Flattr this!

  • *

    You may use these HTML tags: <a> <abbr> <acronym> <b> <blockquote> <cite> <code> <del> <em> <i> <q> <s> <strike> <strong>

  • Comment Feed for this Post
Go to Top