SSL Zertifikate - Wie funktioniert's genau?

TheRocco85

TheRocco85

Aktives Mitglied
Thread Starter
Dabei seit
12.08.2007
Beiträge
1.041
Reaktionspunkte
27
Grüß euch!

Obwohl meine Frage wenig mit dem eigentlichen Web Design etc. zu tun hat, hoffe ich dass mir hier jemand ein paar hilfreiche Tipps geben kann, wie das mit den SSL-Zertifikaten genau funktioniert.

Gleich eines vorweg, ich besitze keinen eigenen Webserver mit Root-Rechten, sondern bin bei einem Public Hoster, wenn man das so nennt.

Was mir gleich am Anfang aufgefallen ist, sind teilweise sehr große Preisunterschiede.
Bei dem hier [1] kostet's z.B. 10€/Jahr, wobei der behauptet das irgendwie über RapidSSL abzuwickeln. Schaut man direkt auf die RapidSSL-Webseite kostet's dort aber $69/Jahr. Wie gibts das?
Auch mein Provider bietet das SSL-Zertifikat inkl. Einspielung, Verlängerung und den ganzen Service für 48€/Jahr an.
Kann ich dem hier [1] jetzt trauen?


Angenommen ich hole mit das Zertifikat extern (also nicht über meinen Provider mit den Serviceleistungen) kann ich das auch einspielen - dafür gibt's eine eigene Maske im Userbereich. Dort muss ich eingeben
a. SSLCertificate
b. SSLCertificateKey (unverschlüsselt)
c. SSLCertificateChain (optional).

[1] sagt, nachdem ich das Zertifikat gekauft habe, muss ich ein CSR generieren und bei ihnen hinterlegen. Wie mache ich das, wenn ich keinen eigenen Webserver habe?
Und soweit ich das verstanden habe, braucht mein Provider auch die Ausgabe dieses CSRs, richtig?


Ich wäre sehr froh wenn hier jemand für mich Licht in die Sache bringen kann.

Danke!


[1] https://www.interssl.at/de/
 
Also, ein CSR ist ein "Certificate Signing Request".
Du möchtest das jemand anderes die Echtheit Deiner Daten bestätigt, also quasi unterschreibt.

Dort trägt man seine Domain und noch ein paar andere Daten ein.
Zu dem CSR gehört noch Dein Private Key. Den Du natürlich nicht weitergibts.

Das CSR schickt man an den SSL Anbieter. Dieser signiert nun Dein Zertifikat mit seinem.
Du bekommst das signierte Zertifikat zurück.

Dadurch entsteht eine Zertifikat Chain (Kette). Zum Beispiel:

Verisign -> SSL Anbieter -> Du.

Diese Kette muss im Webserver hinterlegt werden, da nur das erste Root Zertifikat im Browser selbst als sicher hinterlegt ist.
Man zahlt quasi nur Geld weil irgendjemand am Anfang der Kette vertrauenswürdig ist und dafür Geld nimmt.

Manche Reseller von Zertifikaten signieren selbst über andere Anbieter, so dass die Kette entsprechend lang wird.
Invalidiert jemand in der Kette sein Zertifikat oder es läuft aus, müssen alle weiter hinten neue Zertifikate anfordern.

Der Browser muss jedes Zertifikat in der Kette online überprüfen.
Ist eines davon nicht mehr gültig oder wurde widerrufen ist die Webseite "unsicher".

Das ganze basiert auf den Privilegien und der Vertrauensstellung der ersten in der Kette.
Ein selbst signiertes Zertifikat ist nicht weniger sicher, es lässt sich halt nur nicht von mehreren Teilnehmern verifizieren.
Und so machen diese Firmen halt Geld.
 
Danke für die Infos, das hat ein paar Dinge klarer gemacht.

Trotzdem frage ich mich noch, wieso [1] günstiger ist, als RapidSSL, die ja offensichtlich die letzte Instanz sind. Außerdem noch die Frage, wie ich ohne eigenen Webserver zu einem CSR komme. Kannst du mir da noch helfen?
 
Danke für die Infos, das hat ein paar Dinge klarer gemacht.

Trotzdem frage ich mich noch, wieso [1] günstiger ist, als RapidSSL, die ja offensichtlich die letzte Instanz sind. Außerdem noch die Frage, wie ich ohne eigenen Webserver zu einem CSR komme. Kannst du mir da noch helfen?

Den CSR kannst Du auf jedem beliebigen Rechner erstellen - das musst Du nicht auf dem Webserver selbst machen.
Ich habe mir die letzten billigen SSL-Zertifikate immer über ssls.com geholt. Bei drei Jahren Laufzeit kostet das billigste 4,99 $/Jahr.
Dort findet man auch Anleitungen zum Generieren des Requests, z.B. http://helpdesk.ssls.com/hc/en-us/articles/203427502-How-to-generate-a-CSR-code-on-Apache-Nginx-using-OpenSSL(*)

Wichtig ist halt, dass man die Angaben zum Domainnamen korrekt einträgt, andernfalls bekommt man ein Zertifikat, mit dem man nichts anfangen kann.

Bei den Billiganbietern ist es meistens so, dass dort Zwischenzertifikate verwendet werden. Die muss man dann über die SSLCertificateChain konfigurieren, was u.U. etwas fummelig ist. In der Regel muss man den Inhalt verschiedener Textdateien in der richtigen Reihenfolge in eine Datei zusammenkopieren und die dann hochladen.

(*) Nachtrag: Du öffnest das Terminal und gibst "openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr" ein, wobei Du das "example" durch irgendwas sinnvolles ersetzt. Dann fragt er Dich ein paar Sachen (wie Du heißt und wo Du wohnst usw.) und erstellt den privaten Schlüssel und den Request. Das ganze kannst Du auch beliebig oft wiederholen, falls Du dich irgendwo vertippt hast o.ä.
Ganz wichtig: Der privaten Schlüssel aufheben! Ohne den ist das Zertifikat wertlos. Den Request brauchst Du später eigentlich nicht mehr.
 
  • Gefällt mir
Reaktionen: TheRocco85
Dankeschön für die Antwort,

aber dazu muss ich openssl am Rechner installiert haben, richtig? Finde für den Mac aber keine kompilierte Version zum Download an. Hier hänge ich momentan.
 
OpenSSL ist bei OS X vorinstalliert.
 
  • Gefällt mir
Reaktionen: TheRocco85
Ich habe mir die letzten billigen SSL-Zertifikate immer über ssls.com geholt. Bei drei Jahren Laufzeit kostet das billigste 4,99 $/Jahr.

Ich beziehe meine bei startssl.com. Da gibt es das einfachste SSL-Zertifikat mit 1 Jahr Laufzeit vollständig kostenfrei.
 
  • Gefällt mir
Reaktionen: genexx
OpenSSL ist bei OS X vorinstalliert.

Achso, cool, das wusste ich nicht.

Ich beziehe meine bei startssl.com. Da gibt es das einfachste SSL-Zertifikat mit 1 Jahr Laufzeit vollständig kostenfrei.

Was ich so gelesen habe soll das eher eine dubiose Firma sein... :confused:

...ssl-Zertifikate gibt es völlig kostenlos und ohne irgendwelche Mätzchen hier:

https://letsencrypt.org/

Gut, ich kann ja mein Zertifikat mit OpenSSL erstellen und bei letsencrypt zertifizieren lassen, oder?
 
Gut, ich kann ja mein Zertifikat mit OpenSSL erstellen und bei letsencrypt zertifizieren lassen, oder?

...im Prinzip ja, das Ganze wird dann durch Certbot nur geführt, siehe
https://certbot.eff.org/docs/using.html#manual
https://certbot.eff.org/docs/intro.html

Grundsätzlich geht das alles automatisiert per Certbot & Plugins leicher, vor allem bei Apache. Hier kannst Du dir die für dich geeignete Methode auswählen:
https://certbot.eff.org/

Falls Du bei deinem public hoster Plesk benutzt, reicht es mitunter schon, einfach nur eine Extension zu aktivieren:
https://devblog.plesk.com/2015/12/lets-encrypt-plesk/
 
  • Gefällt mir
Reaktionen: TheRocco85
Super, danke!

Hab's jetzt aus einer Kombination von OpenSSL und der Seite http://gethttpsforfree.com/ geschafft. War sehr einfacht, da Schritt-für-Schritt-Anleitung auf der Seite vorhanden.

Leider ist mir aber noch immer nicht klar wie das mit dem cert-bot funktionieren soll. Bei den System Requirements steht, dass man das auf einem Webserver ausführen muss. Nur den hab ich leider nicht. Oder muss ich mit jetzt einen Webserver aufsetzen, nur um ein Zertifikat zu stellen und verifizieren zu lassen?
 
Super, danke!

Hab's jetzt aus einer Kombination von OpenSSL und der Seite http://gethttpsforfree.com/ geschafft. War sehr einfacht, da Schritt-für-Schritt-Anleitung auf der Seite vorhanden.

Leider ist mir aber noch immer nicht klar wie das mit dem cert-bot funktionieren soll. Bei den System Requirements steht, dass man das auf einem Webserver ausführen muss. Nur den hab ich leider nicht. Oder muss ich mit jetzt einen Webserver aufsetzen, nur um ein Zertifikat zu stellen und verifizieren zu lassen?

Da letsencrypt Zertifikate nur 3 Monate gültig sind, braucht man mMn etwas automatisiertes.
 
ot: dieses "vereinfachen" von Verschlüsselung ist meine Meinung nach kontraproduktiv.

Wer es nicht schafft ein SSL Zertifikat auf seinem Webserver einzuspielen (was im allgemeinen nun nicht die Herausforderung ist), der wird so einen Server wohl kaum sicher machen können. Und dann glaubt derjenige noch, mit dem Zertifikat wäre alles im grüßen Bereich.

Oder wie kann es sein, das ich noch keinen Thread "wie mache ich meinen Webserver sicher" hier gefunden habe?

Gefundenes Fressen für Script Kiddies die den Server dann hacken.
 
  • Gefällt mir
Reaktionen: wegus und user chris
Hey! Die Sache mit den SSL-Zertifikaten kann echt knifflig sein, oder? 😅 Also, zuerst mal zu den Preisunterschieden - die können durch verschiedene Dinge wie Anbieter, Zertifikatstypen und Extras kommen. Würde mir Bewertungen anschauen, um sicherzustellen, dass der Anbieter [1] vertrauenswürdig ist.

Wenn du kein eigenen Server hast, sollte dein Provider eigentlich den CSR für dich generieren können. Frag die am besten direkt, wie das bei ihnen abläuft. Für das Einspielen von extern gekauften Zertifikaten, schau im Userbereich nach 'ner passenden Maske. Da musst du dann die SSLCertificate, SSLCertificateKey (unverschlüsselt) und SSLCertificateChain eingeben.

Wegen dem CSR-Generieren ohne eigenen Webserver: Normalerweise macht das der Webserver. Check mit dem Provider, ob die da was spezielles brauchen.

Hoffe, das bringt ein bisschen Licht ins Dunkle! Wenn noch was unklar ist, einfach weiterfragen.
 
  • Gefällt mir
Reaktionen: dg2rbf
Ganz Kurz: Bei den Zertifikaten zahlt man im grunde für Notarleistungen.
Eine (digitale) notarielle Beglaubigung.
 
  • Gefällt mir
Reaktionen: dg2rbf
Zurück
Oben Unten