• Blog
  • Raspberry Pi
  • Über mich
  • Projekte
  • devowl.io

Kostenloses SSL Zertifikat bei StartCom StartSSL erstellen

19. März 2014
Vorgestellt
27 Kommentare

SSL, inzwischen eigentlich auf den Namen TLS (Transport Layer Security; dt. Transportschichtsicherheit) hörend, ist eine gängige Methode im Internet Datenübertragungen abzusichern. Wie in meinem Blog in verschiedenen Tutorials bereits erklärt, benötigt man ein SSL Zertifikat, das die Verbindung sichert. Man kann sich dieses selbst erstellen und signieren. Das ist kostenlos und schnell erledigt. Der Nachteil an dieser Methode ist, dass Browser und andere Clients immer fragen, ob man dem Zertifikat wirklich vertrauen möchte, da man bei selbst signierten Zertifikaten nicht zwingend von dessen Echtheit ausgehen kann.

Alternativ kann man sich SSL Zertifikate von Unternehmen ausstellen lassen, denen von Betriebssystemen, Browsern und weiteren Clients vertraut wird. Dabei sind Zertifikataussteller wie Thawte, RapidSSL, GEO Trust, GlobeSSL, Comodo oder VeriSign anzuführen. Ab zehn Euro bis hin zu mehreren Tausenden pro Jahr ist das Spektrum der Angebote bei den benannten Anbietern groß.

Beispiel: Selbst signiertes SSL Zertifikat erstellen

Mit den folgenden Befehlen können wir auf einem Rechner mit OpenSSL ein selbst signiertes SSL Zertifikat erstellen, das 365 Tage gültig ist. Der Ausdruck hostname sollte durch die Domain ersetzt werden, für die das Zertifikat bestimmt ist. Dabei werden beim vorletzten Befehl mehrere Fragen gestellt. Minimal sollten wir bei Country Name unser Länderkürzel z.B. DE und bei Common Name die Domain, unter der das SSL Zertifikat verwendet wird, angeben. Weitere Angaben schaden an dieser Stelle nicht.

openssl genrsa -out hostname.key 4096
openssl req -new -sha256 -key hostname.key -out hostname.csr
openssl x509 -req -sha256 -days 365 -in hostname.csr -signkey hostname.key -out hostname.crt

Wer nach einer kostenlosen Alternative sucht, die jedoch ohne Nachfrage des Clients akzeptiert wird, sollte einen Blick auf StartSSL werfen. Diese bieten mit StartCom StartSSL Free ein SSL Zertifikat für ein Jahr an, das gänzlich kostenlos ist. Wie man im Vergleich zu anderen StartSSL Produkten sieht, bietet es einige Funktionalitäten nicht an. Jedoch akzeptieren die meisten (modernen) Anwendungen das Zertifikat, wie dem Forum des Unternehmens zu entnehmen ist. Für eine Domain auf einem Webserver wie Apache2 oder Nginx oder E-Mail-Verschlüsselung ist es also völlig ausreichend.

Kostenloses SSL Zertifikat bei StartSSL erstellen

Step 1

Zunächst müssen wir uns auf der etwas unübersichtlichen Webseite von StartSSL einen Account anlegen. Dies können wir im Control Panel über den Button Sign-up bewerkstelligen. Anschließend müssen wir unsere Adresse, Telefonnummer und E-Mail Adresse angeben.

Step 2

Nach der Anmeldung erhalten wir per E-Mail einen Code, den wir auf der Seite nach Absenden der Registrierung angeben müssen, um diese abzuschließen. Anschließend werden die angegebenen Adressdaten von einem Mitarbeiter geprüft. Das kann je nach Tageszeit einige Stunden dauern. Wenn die Prüfung abgeschlossen ist und die Daten angenommen wurden, erhält man eine zweite E-Mail mit einem Aktivierungslink, auf den wir klicken müssen und in diesen einen weiteren Code, der in der E-Mail enthalten ist, eingeben.

Step 3

Nun müssen wir im nächsten Schritt Generate Private Key ein Zertifikat generieren, mit dem sich der Browser bei StartSSL in den angelegten Account anmelden kann. Die Voreinstellung 2048-bit ist in Ordnung, sodass wir mit einem Klick auf Continue fortfahren und anschließend das Zertifikat installieren lassen können.

Step 4

Nachdem wir die Registrierung nun geschafft haben, können wir im Control Panel von StartSSL auf den Reiter Validations Wizard gehen. Dort wählen wir Domain Name Validation und geben im nächsten Schritt die Domain an, für die wir ein SSL Zertifikat erstellen möchten. Im dritten Schritt müssen wir wählen, an welche der drei standard E-Mail Adressen ein Verifikationscode geschickt werden soll. Nachdem wir den Code per E-Mail erhalten haben, müssen wir diesen im letzten Schritt auf der Webseite von StartSSL eintragen.

Dies ist nötig, da StartSSL überprüfen muss, ob die Domain, für die wir später ein SSL Zertifikat erstellen, auch wirklich uns gehört.

Step 5

Das Account angelegt und die Domain verifiziert. Nun sind alle vorbereitenden Schritte geschafft und wir können zum Erzeugen eines SSL Zertifikats übergehen. Dazu wählen wir den Reiter Certificates Wizard an und wählen dort die Art des SSL Zertifikats, das wir ausstellen lassen möchten. Im Folgenden werden die Schritte exemplarisch für ein Web Server SSL/TLS Certificate erklärt, das wir für einen Webserver wie Apache2 oder Nginx benötigen.

Step 6

Zunächst müssen wir nun einen Private Key erzeugen. Jedoch ist der Private Key ein wichtiger Schlüssel, der nicht herausgegeben werden sollte, weshalb wir diesen nicht auf der Webseite, sondern selbst erzeugen sollten. Wir erzeugen den Private Key mit einer Länge von 4096 Bit mittels folgenden Befehls auf einem Rechner, der OpenSSL installiert hat. Anschließend, mit dem zweiten Befehl, erzeugen wir einen Certificate Request, der die nötigen Informationen für das Zertifikat enthält. Dabei sollten wir die gestellten Fragen wahrheitsgemäß beantworten. Bei Common Name ist dabei die Domain anzugeben, für die das Zertifikat erstellt werden soll und ein Passwort sollte nicht vergeben werden. Der Ausdruck hostname sollte dabei durch die Domain, für die wir das Zertifikat erstellen, ersetzt werden.

openssl genrsa -out hostname.key 4096
openssl req -new -sha256 -key hostname.key -out hostname.csr

Auf der Webseite von StartSSL klicken wir auf Skip und werden anschließend aufgefordert den Certificate Request einzutragen. Dazu kopieren wir einfach den Inhalt der hostname.csr in das angegebene Feld.

Step 7

Im nächsten Schritt müssen wir nun eine der zuvor verifizierten Domains auswählen, für die wir ein SSL Zertifikat erstellen möchten. Wir müssen nun noch eine Subdomain angeben, die ebenfalls von dem Zertifikat unterstützt werden soll. Im Normalfall sollte man an dieser Stelle www angeben, falls das Zertifikat nicht für eine spezifische Subdomain ausgestellt werden soll. Darauf folgend müssen wir unsere Angaben nochmals bestätigen. Ist das erledigt, so erhalten wir erneut im Browser die Meldung, dass das Zertifikat beantragt wurde und wir per E-Mail benachrichtigt werden, wenn dieses ausgestellt ist.

Step 8

Haben wir die E-Mail erhalten müssen wir im Control Panel unter Tool Box und anschließend Retrieve Certificate das kostenlose SSL Zertifikat abholen, das in einem Textfeld angezeigt wird. Dessen Inhalt legen wir in einer Datei namens hostname.crt ab (hostname sollte erneut ersetzt werden).

Step 9

Wir haben nun den Private Key und das SSL Zertifikat. Des Weiteren brauchen wir aber noch die ca.pem und sub.class1.server.ca.pem Datei von StartSSL, welche wir herunterladen können.

Download-Links

  • ca.pem: http://www.startssl.com/certs/ca.pem
  • sub.class1.server.ca.pem: http://www.startssl.com/certs/sub.class1.server.ca.pem

Was ist in welcher Datei enthalten?

  • hostname.key: Zertifikatschlüssel/Private Key
  • hostname.crt: SSL Zertifikat
  • ca.pem: Intermediate Zertifikat
  • sub.class1.server.ca.pem: Intermediate Zertifikat für die Subdomain
Step 10

Abschließend müssen wir nun das SSL Zertifikat in der gewünschten Anwendung einbauen. Wie das für Apache2 und Nginx geht, wird in den verlinkten Seiten von StartSSL erklärt. Außerdem findet sich im Blog von Kuketz IT-Security ein Artikel zum Thema Cipher-Suiten, der ratsam zu Lesen ist, um den Webserver sinnvoll für das SSL Zertifikat zu konfigurieren. Für andere Anwendungen findet man im Normalfall mit einer kurzen Suche entsprechende Anleitungen.

Geschafft! Das kostenlose SSL Zertifikat für eine Domain wurde für ein Jahr ausgestellt und ist einsatzbereit. Damit wünsche ich eine sichere Nutzung der eigenen Anwendung!

Dieser Artikel wurde am 04. Juni 2015 überarbeitet.

27 Kommentare. Hinterlasse eine Antwort

  • daniel
    März 20, 2014 7:42 am

    Super gemacht. Habe es vorher schon oft mit den englischen anleitungen versucht. Nun hats geklappt! Vielen dank.

    Antworten
  • wvs
    März 21, 2014 1:00 am

    Guten Tag & vielen Dank für die Erklärungen – ich hatte kürzlich bei meinem hoster nachgefragt und wegen der hohen Kosten Abstand genommen. Nun rückt das Projekt wieder auf der ‚to-do-Liste‘ nach oben….

    Antworten
  • tatoosh
    März 22, 2014 4:10 pm

    Danke für den Artikel!

    Antworten
    • Jan Karres
      März 26, 2014 5:44 pm

      Ich danke fürs Lesen 🙂

      Antworten
      • it-worker
        August 7, 2014 3:22 pm

        SSL-Zertifikate kann man doch gewöhnlich einfach verlängern. Geht das hier wirklich nicht? Dann müsste man diese ganze Prozedur ja jedes Jahr machen 🙂
        Und gleich für mehrere Jahre (z.B. 5 Jahre) machen geht nicht?

        Antworten
        • Jan Karres
          August 8, 2014 3:16 pm

          Das sind eben die Limitierungen bei dem kostenlosen Angebot…

          Antworten
  • sbaerlocher
    April 7, 2014 4:24 pm

    Gute Anleitung, wer noch eine Anleitung für die Konfiguration des Nginx mit SSL sucht kann meine Anleitung verwenden: https://sbaerlocher.ch/2014/02/einrichten-eines-ssl-zertifikat/

    Antworten
  • Manu
    April 26, 2014 8:26 am

    Eine Verständnisfrage:

    Was passiert wenn das eine Jahr rum ist? Wird das Zertifikat kostenplfichtig oder verfällt es oder muss es erneuert werden?

    Antworten
    • Jan Karres
      April 27, 2014 8:44 pm

      Das Zertifikat läuft aus und zu musst ein Neues erstellen.

      Antworten
  • Anton
    August 7, 2014 1:08 pm

    Ist es auch möglich sich ein kostenloses Zertifikat für ein Host von noip.com registrieren zu lassen?

    Antworten
    • Jan Karres
      August 8, 2014 3:16 pm

      Ob es bei StartCom auch für Subdomains geht müsstest du einfach mal ausprobieren. Ich denke aber, dass das kein Problem darstellen sollte.

      Antworten
    • Manni
      August 17, 2014 5:17 pm

      Leider nicht.
      Zitat:
      „You must be the owner of the top-level domain, sub domains are not supported.“

      Antworten
  • it-worker
    August 11, 2014 9:27 am

    Ich habe das nun so eingerichtet wie beschrieben, hat wunderbar funktioniert. Nur ein Problem: Immer wenn ich nun Apache restarten will, muss ich das Zertifikat-Passwort eingeben. Bekommt man das irgendwie weg? Ist nämlich blöd, wenn die Maschine durch einen Firstlevel-Supporter im Rechenzentrum rebootet wird, der weder Zugriff auf die Shell hat noch das Passwort kennt.

    Antworten
    • Jan Karres
      August 13, 2014 11:07 am

      Keine zusätzliche Passphrase verwenden? 😉

      Antworten
      • Christian
        Oktober 4, 2014 9:14 pm

        Ich glaube das wurde in der Anleitung vergessen. Das erzeugte ssl.key File ist ja jetzt mit Password encrypted. Bei einem Apache Neustart müsstest du jedes mal das Passwort angeben.
        Du kannst aber über die StartSSL Toolbox – Decrypt Private Key – eine ssl.key Datei erstellen die nicht mit Passwort versehen ist. Also die ssl.key Datei wieder zurück wandeln.

        Antworten
        • janC
          November 13, 2014 11:26 pm

          oder einfach: sudo openssl rsa -in .key -out .key
          Die neue Keyfile benötigt dann kein Passwort mehr. Nicht vergessen: mit chmod 600 und chown root:root gegen unbefugten Zugriff abzusichern.

          Antworten
          • Arne
            Dezember 18, 2015 2:27 am

            chmod 400 ist noch sicherer, es muss nur lessbar sein. 😉

  • Martin Guth
    Januar 30, 2015 8:52 am

    Hallo,

    ich betreibe zu Hause owncloud auf meinem raspberrypi. Diesen möchte ich nicht ins Internet bringen und höchstens über VPN Tunnel von unterwegs zugreifen. Nun beschweren sich die Browser und Apps ständig über mein selbstsigniertes SSL-Zertifikat…es wird auch vor Man in The Middle Attacken gewarnt. Gibt es eine Chance ein offizielles Zertifikat für eine private IP-Addresse zu bekommen oder bleibt mir hier nur das Selbstsignieren und der Versuch die Clients zur Akzeptanz des Zertifikats zu überreden?

    Vielen Dank im Voraus

    Martin Guth

    Antworten
    • Jan Karres
      Februar 11, 2015 2:18 pm

      Selbst signiertes Zertifikat, ein kostenloses Zertifikat von am einfachsten StartSSL oder eines kaufen (ab ca. 10€/Jahr). Diese Möglichkeiten gibt es.

      Antworten
    • Christian
      Februar 12, 2015 8:45 am

      Bei den Browsern müsstest Du doch angeben können, dass sie dieses Zertifikat akzeptieren sollen; „Ausnahmeregel hinzufügen“ oder sowas in die Richtung!?

      Und für Android gibt es die App CADroid, die hilft, selbstsignierte Zertifikate zu importieren: http://cadroid.bitfire.at/

      Antworten
  • Steffen
    Februar 14, 2015 1:13 pm

    Gibt es außer StarCom noch weitere SSL-Free-Zertifikat Hersteller?

    Antworten
  • Christian
    Mai 25, 2015 3:47 pm

    Da ich ewig nach einer richtig guten Anleitung gesucht habe ein „wirkliches“ openSSL Zertifikat zu erstellen, möchte ich es für euch posten:

    SSL – fortgeschritten:
    http://pki-tutorial.readthedocs.org/en/latest/advanced/index.html

    Sicherheit SSL Zertifikat testen:
    https://www.ssllabs.com/ssltest/index.html

    Außerdem hier der Code um das eigene Zertifikat sicherer zu machen (einzufügen in die NGINX-Conf Datei):
    # SSLv3 deaktivieren, http://en.wikipedia.org/wiki/Secure_Sockets_Layer#SSL_3.0
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    # Schutz gegen Ausspaehung, http://www.kuketz-blog.de/nsa-abhoersichere-ssl-verschluesselung-fuer-apache-und-nginx/
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES256-GCM-SHA384:DHE-DSS-AES256-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-SHA384:DHE-RSA-AES128-SHA256:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256:AES128:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!3DES:!MD5:!PSK;
    ssl_prefer_server_ciphers on;

    Alle Angaben ohne Gewähr 🙂

    Antworten
  • Stefan
    August 6, 2015 5:13 pm

    Hallo,

    ich würde gerne ein Mailzertifikat erzeugen und von StartCom signieren lassen. Leider bekomme ich immer die Meldung, daß diese Mailadresse schon validiert ist.

    Ich würde aber gerne, wie in Step 6 empfohlen, den privaten Schlüssel selbst erstellen und nur den Request an StartCom schicken. Wie macht man das für ein Mailzertifikat?

    Danke und Gruß

    Stefan

    Antworten
    • Jan Karres
      August 12, 2015 12:03 am

      Bzgl. E-Mails würde ich anstatt S/MIME mal den Standard OpenPGP ausprobieren.

      Antworten
  • Schroeffu
    September 1, 2015 2:05 pm

    Ahoi Jan & Leser
    Inzwischen gibt’s gar 3-Jahres-Zertifikate via WoSign mit Cross-Sign von Startssl. Die Erstellung ist noch einmal einfacher gestaltet als bei Startssl selbst. 🙂 https://schroeffu.ch/2015/09/kostenlose-ssl-zertifikate-mit-3-jahren-gueltigkeit-erstellen-lassen/

    Antworten
  • Let’s Encrypt: Kostenloses SSL/TLS Zertifikat erstellen » Jan Karres
    Dezember 20, 2015 4:00 pm

    […] eines selbst signieren, was Nachteile mit sich brachte, erhielt dieses mit vielen Restriktionen kostenlos bei StarCom oder musste sich ein solches für eine teils nicht unerhebliche Jahresgebühr bei einer […]

    Antworten
  • Tobi
    Oktober 3, 2016 11:26 pm

    Wie funktioniert das zusenden des Codes per email über die 3 email Adressen ? Muss ich da eine neue email Adresse erstellen lassen auf dem Namen ?

    Antworten

Schreibe einen Kommentar Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Bitte füllen Sie dieses Feld aus.
Bitte füllen Sie dieses Feld aus.
Bitte gib eine gültige E-Mail-Adresse ein.
Sie müssen den Bedingungen zustimmen, um fortzufahren.

Jan Karres
Jan Karres
Wirtschaftsinformatiker
Facebook
Twitter
YouTube
LinkedIn
Xing
GitHub

Themen

  • Blogging
  • Debian (Linux)
  • Eine Geschichte aus dem Leben des Jan
  • Fotos
  • Gaming
  • Gedanken
  • Linksammlungen
  • Privates
  • Projekte
  • Raspberry Pi
    • Einplatinencomputer (außer Raspberry Pi)
  • Schule und Studium
  • Tipps und Tricks
  • Videos
  • Vorgestellt
  • WordPress

Projekte

Dieser Blog ist meine kleine Base im Internet, in der ich über Themen schreibe, die mich persönlich beschäftigen. Abseits davon habe ich weitere Projekte im Netz, die teils aus Spaß entstanden, jedoch zum Teil auch meinen Kühlschrank füllen.

Alle Projekte

JanKarres.de © 2007-2022

Neueste Beiträge

  • Raspberry Pi: WLAN Access Point mit NordVPN (VPN Router) einrichten Dezember 5, 2020
  • Real Cookie Banner: Wie das Opt-in Cookie Banner für WordPress entstand November 18, 2020
  • Blog Setup erneut: Aufräumen einer kleinen Historie Oktober 13, 2020
  • devowl.io: Auf geht’s in das WordPress Business! März 10, 2020
  • Kuschelpartys: Nähe und Geborgenheit einfach erleben September 30, 2018

devowl.io

Meine Brötchen verdiene ich im Internet. Dazu habe ich gemeinsam mit meinem Kollegen Matze die devowl.io GmbH gegründet. Gemeinsam entwickeln und vertreiben wir in unser Plugins und Entwickler-Tools im WordPress Umfeld.

Mehr erfahren
  • Datenschutzerklärung
  • Impressum