SSL - Eigene Zertifizierung?
Man erstellt ja ein CSR, was man einer Zertifizierungsstelle übergibt, die einem dann erst das Zertifikat austellen... Nun die Frage, kann man sich das Zertifikat selbst austellen?
3 Antworten
Du kannst dir mit openSSL eine eigene Zertifizierungsstelle bauen und mit der dann Zertifikate ausstellen. Allerdings wird das Zertifikat deiner Zertifizierungsstelle halt nirgendwo akzeptiert, also zeigt der Browser immer eine Warnung, da dein Zertifizierungsstellen-Zertifikat nicht im Speicher des Browsers ist.
Intern kannst du das ggf. machen und das Zertifizierungsstellen-Zertifikat bei all deinem Rechnern importieren, dann werden alle ausgestellten Zertifikate auf deinen Rechnern auch als gültig anerkannt, aber halt NUR auf deinen Rechnern.
Wie importiere ich es? Ich habe nur eine .pem
Also, ich habe die .pem installiert, was ansich auch geht! jedoch kommt ein neuer Fehler:
MOZILLA_PKIX_ERROR_SELF_SIGNED_CERT
Das CA-Zertifikat muss als CA-Zertifikat erstellt sein, muss also das entsprechende Flag gesetzt haben. Das Server-Zertifikat darf dieses Flag nicht gesetzt haben. Es muss gesetzt sein:
X509v3 Key Usage:
Digital Signature, Non Repudiation, Key Encipherment
X509v3 Extended Key Usage:
TLS Web Server Authentication
Das alles wird in den entsprechenden Konfigurationsdateien festgelegt.
Du solltest Dir die Dokumentation von OpenSSL gründlich durchlesen. Wie sieht Deine Konfigurationsdatei aus, mit der Du die Zertifikate ausstellst?
Nein, habe dank dem ersten Link von @iQa1x hinbekommen
Einstellungen -> Datenschutz & Sicherheit -> Zertifikate (ziemlich weit unten) -> Zertifikate anzeigen -> Reiter "Zertifizierungsstellen" auswählen
Klicke auf den Button "Importieren".
Ja, aber dass dies bei allen schon importiert ist! Ohne es manuell importieren zu müssen...
Was heißt "bei allen schon importiert"? Wir sprechen hier von Firefox. Wer oder was ist "bei allen"?
Ohne es manuell importieren zu müssen...
Deine eigene Zertifizierungsstelle kann nicht ohne Dein Zutun im Zertifikatsspeicher von Firefox enthalten sein. Ein Eintrag im Reiter "Server" kommt zustande, wenn Du bei einer Zertifikatswarnung eine Ausnahme hinzufügst. Wenn dort Dein Server drinsteht, lösche ihn raus.
Dass die Zertifizierungstelle halt standartmäßig importiert ist! Wie bei Let's Encrypt
Ach so, Du möchtest, dass Deine selbstgebaute Zertifizierungsstelle bei den handelsüblichen Browsern als vertrauenswürdig eingestuft wird? Ja, das geht ganz einfach. Werde Mitglied im Browser-CA-Forum, erfülle die Richtilinien für eine vertrauenswürdige Zertifizierungsstelle, lasse Dich auditieren. Und wenn Du dann noch eine entsprechende Marktmacht hast, steht dem nichts mehr im Wege.
Einfach? Die verlangen Anforderungen, wie, wenn man in den Staat aufgenommen werden will! Da kapiert kein Schwein was! Das einzige, über dass ich verfüge, ist bloß die Zertifizierungstelle!
Einfach?
Ja, einfach. Einfach in dem Sinne, dass die Bedingungen und der Ablauf klar definiert sind. Erfülle die Bedingungen, halte Dich an die Abläufe, und alles wird gut.
Da kapiert kein Schwein was!
Doch, schon. Nur weil Du das nicht verstehst, ist das noch lange nicht "kein Schwein".
Das einzige, über dass ich verfüge, ist bloß die Zertifizierungstelle!
Ja. Aber erkläre doch mal, warum die Welt Dir vertrauen soll?
Als Beispiel:
Die Mitgliedsorganisation betreibt eine Zertifizierungsstelle, die über einen aktuellen und erfolgreichen WebTrust for CAs-Audit oder ETSI EN 319 411-1 oder ETSI TS 102 042 oder ETSI TS 101 456 Auditbericht eines ordnungsgemäß qualifizierten Auditors verfügt, ist Mitglied einer CWG, und die aktiv Zertifikate an Endeinheiten ausstellt, wobei solche Zertifikate von einem Zertifikatsverbraucher-Mitglied als gültig behandelt werden. Antragstellern, die keine Zertifikate aktiv ausstellen, aber ansonsten die Mitgliedschaftskriterien erfüllen, kann der Status eines assoziierten Mitglieds gemäß Satzung des Statuts gewährt werden. 3.1 für einen vom Forum zu bestimmenden Zeitraum.
Ist einer der Punkte. Nun, woher soll ich ein WebTrust for CAs-Audit hernehmen? Wass soll eine CWG und wie soll ich da beitreten?
Das wird so nichts, die Regeln sind mit Absicht sehr streng, Anbieter von Zertifizierungsdienstleistungen sind alles große Firmen oder Organisationen, schließlich ist so eine Aufnahme in die Browserliste eine Lizenz zum Geld drucken (die meisten Firmen verkaufen Zertifikate für um die 100 €/Stück), da ist dann auch der Aufwand gerechtfertigt.
Wie oben geschrieben, die eigene CA bringt dir nur was, wenn du das in deinem eigenen Netzwerk oder aber Firma etc. einsetzen willst, damit du interne Zertifikate nicht über einen Drittanbieter ausstellen lassen willst. Offizielle, anerkannte Zertifikate musst du dir entweder (als Class 1) bei Lets Encrypt ausstellen lassen, oder wenn du einen Shop hast und das Zertifikat vertrauenswürdiger (Class 2 und mehr, d.h. es steht der geprüfte Inhaber drin) sein soll, für Geld bei einem der großen Anbieter kaufen.
Wo hast du diesen Text her?
woher soll ich ein WebTrust for CAs-Audit
Du musst Dich entsprechend auditieren lassen.
Wass soll eine CWG und wie soll ich da beitreten?
CWG dürfte Code Signing Working Group bedeuten. In dem Dokument, das Du zitiert hast (aber nicht genannt hast), sollte die Abkürzung aufgelöst sein.
Alle nötigen Informationen findest Du unter https://cabforum.org. Ja, das ist keine leichte Kost. Und das ist ein Prozess von mehreren Jahren. Und ja, das kostet in der Summe auch Geld, um diese Anforderungen zu erfüllen.
Ganz ehrlich: Du benötigst gutefrage.net, um überhaupt Zertifikate richtig auszustellen. Du benötigst gutefrage.net, um Deinen SSH-Server richtig zu konfigurieren. Du benötigst gutefrage.net, um cURL-Bibliotheken für PHP zu finden und zu verstehen, dass APIs nicht zwangsläufig cURL benötigen.
Und nun möchtest Du, dass die Welt Deiner Zertifizierungsstelle vertraut? Noch einmal meine Frage, die Du nicht beantwortet hast: Warum soll Dir die Welt vertrauen? Was genau soll Microsoft, Google, Mozilla, Apple, etc. veranlassen, Deine Zertifizierungsstelle als vertrauenswürdig zu betrachten? Vertrauen muss man sich erarbeiten. Das ist ein langer Prozess. Bei Letsencrypt hat das vier Jahre gedauert. Nebenbei sei bemerkt, dass Letsencrypt von der gemeinnützigen Internet Security Research Group betrieben wird, die u. a. von der Electronic Frontier Foundation (EFF), der Mozilla Foundation, Akamai, Google und Cisco Systems getragen wird. Alles also große, namhafte Unternehmen mit viel Know-how und finanziellen Mitteln. Trotzdem hat der Prozess vier Jahre gedauert.
Da kapiert kein Schwein was! Das einzige, über dass ich verfüge, ist bloß die Zertifizierungstelle!
Wenn du das nochnichtmal verstehst wie willst du denn verstehen was du da machst.
Hier geht es um Datensicherheit.
Und wenn du davon so wenig Ahnung hast, kannst du natürlich nicht erwarten dass man dies als Sichere Zertifizierung akzeptieren wird.
Und das ist natürlich gut so.
Nur so bleibt das Netz sicher
Klar kann man, ist dann aber ungültig
Nein, ich meinte nicht selbst signieren! So, dass diese auch wirklich verifiziert ist, wie bei Let's Encrypt...
Natürlich wäre ein selbst zertifizierte SSL ein Sicherheitsrisiko.
Damit wären Betrügern Tür und Tor geöffnet
Also müssten die Browser meine Zertifizierungstelle standartmäßig importiert haben?