Hallo duno,
Wenn du dich mehr für dieses Thema interessierst, dann kannst du dich gern im dt. Thunderbird-Forum (http://www.thunderbird-mail.de) informieren. Ich denke mal, dass ich dort als der sich für IT-Sicherheit und Kryptologie verantwortlich fühlende Moderator so ziemlich alle Fragen beantwortet habe. Zumindest, was S/MIME betrifft. (Mit PGP/GnuPG befasse ich mich nicht mehr.)
Auch, warum niemals "Home-CAs" und eigentlich auch keine sonstigen "Billigheimer" in den Betriebssystemen sowie Browsern und MUA mit eigenem Zertifikatsstore (eben die Mozillen) vorinstalliert sein dürften, dürfte jetzt klar sein. Der Empfänger eines fremden Zertifikates (einer von einer fremden Person signierten E-Mail oder beim Betreten einer tls-gesicherten Webseite) möchte sich sicher sein, dass die signierende Person oder der Betreiber der Webseite authentisch sind. Deshalb verlangt das dt. Signaturgesetz in seinem §5 die "sichere Identifizierung der antragstellenden Person" durch Vorlage seines "amtlichen Lichtbildausweises" und Unterschriftsleistung nach dem 4-Augenprinzip und bei Serverzertifikaten zusätzlich durch Vorlage eines notariell beglaubigten Auszuges aus dem Handelsregister, aus dem zweifelsfrei hervorgehen muss, dass diese Firma eben jenen Server betreibt.
Leider wird auf diesem Gebiet mitunter recht schlampig gearbeitet. (Auch wenn ich mir das in Deutschland aufgrund der bestehenden Gesetzeslage nicht so recht vorstellen kann.) Auf jeden Fall tauchen in den vorinstallierten Herausgebern so manche TrustCenter auf, welche eigentlich dort nicht stehen dürften. Auch gibt es dort einen beliebten Herausgeber von Kostnix-Zertifikaten, welcher unter Insidern als der Ableger eines bekannten ausländischen Geheimdienstes zählt ... .
Wenn du für Familie/Freunde/Bekannte Schlüssel und Zertifikate herstellst, spielt das aber alles keine Rolle. Du weißt ganz genau, wer diese Menschen sind und diese kennen dich genau so. => Beidseitiges Vertrauensverhältnis! Damit können alle Beteiligten dein eigenes Herausgeberzertifikat und die persönlichen Zertifikate der anderen mit ruhigem Gewissen in ihre Betriebssysteme/Browser/MUA importieren und denen das Vertrauen aussprechen.
Auch wenn du auf deinem Raspberry Pi (um endlich mal wieder auf dieses Forum zurück zu kommen, bevor mir hier ein Mod wegen dauerhaftem [OT] einen Platzverweis erteilt ;-)) bestimmte Angebote/Dienste für einen kleinen bekannten Nutzerkreis mit einer TLS-gesicherten Verbindung beteitstellst, kannst du das problemlos mit einem selbstsignierten Zertifikat machen. Du kannst den gewollten Nutzern ja auf geeignete Weise per E-Mail oder auf deiner sonstigen Webseite dein Herausgeberzertifikat, dein eigenes S/MIME-Zertifikat und auch deren Hashwerte zur Kontrolle (oder gar noch Sperrlisten) bereitstellen.
Bei einem für die breite Öffentlichkeit oder gar von einer Firma bereitgestellten Webangebot würde ich mir das mit dem selbstsignierten Zertifikat allerdings sehr überlegen. Dort sieht es zumindest unprofessionell oder gar wenig vertrauenserweckend aus.
Noch ein paar Worte zur Erzeugung der Schlüssel und Zertifikate.
Begonnen habe ich vor ca. 15 Jahren mit openssl auf der Konsole. Dann habe ich die Yast-CA von openSUSE, TinyCA und weitere frei verfügbare "Home-CAs" ausprobiert und eine Zeitlang genutzt. Mit steigendem Aufkommen von Zertifikatswünschen bin ich etwa vor 5 Jahren auf "XCA" umgestiegen. Mit diesem für Linux und auch für die WinDOSe verfügbaren Programm ist eine echte Massenproduktion, welche einem kommerziellen TrustCenter recht nahe kommt, möglich. Nicht nur, weil dieses Programm gleich eine Speicherfunktion für die erzeugten Zertifikate mitbringt, sondern vor allem, weil du mit diesem Programm für jeden Anwendungsfall (CA, S/MIME-Nutzer, TLS-Server, TLS-Clients, diverse VPN uvam.) Templates anlegen kannst. So kannst du bei jedem zu erzeugenden Zertifikat per "Knopfdruck" gleich die richtigen Einsellungen vornehmen. So dass du z.Bsp. einem Nutzerzertifikat niemals die Möglichkeiten mitgibst, daraus selbst eine CA zu erstellen. Es sei denn, du willst eben eine von dir signierte Sub-CA aufbauen (lassen). Auch die komfortablen Export- und Importfunktionen sind erwähnenswert. Und wenn du die XCA beendest, verschwinden sämtliche Daten und Einstellungen in einer einzigen passwortgeschützten Containerdatei (die bei Berufsparanoiden wie mir dann auch noch in einem TrueCrypt-Container steckt).
Bevor ich es vergesse: Nutzer, welche ihren private Key selbst erzeugen wollen (es sind sehr wenige!) verwenden natürlich auch XCA zum Erzeugen des Requests. Diesen schicken sie mir dann per Mail und ich signiere diesen dann lediglich mit meiner CA und schicke das erzeugte Zertifikat ebenfalls per Mail zurück. Dieser Transport kann in beiden Richtungen unverschlüsselt erfolgen, was gerade bei dem "ersten Zertifikat" sehr sinnvoll ist. In der eigenen XCA (also ohne eigene CA) können sie dann die Schlüsseldatei (.p12) zusammenfügen und auch sicher speichern.
Ja, und warum machen sie diesen Umweg über mich? 3x darfst du raten ... .
Fast übersehen (auch wenn man das eigentlich aus dem obigen langen Text und den Einstellungen des Thunderbird herauslesen kann ...):
Quote
Wenn ich jetzt für eine Bekannte ein Zertifikat erstellt habe, dann braucht sie doch nur ihr eigenes mit dem Schlüssel und das des Servers, richtig?
Du must deinen Mailpartnern übergeben:
- das Herausgeberzertifikat deiner CA => im TB importieren nach "Zertifizierungsstellen" und dort das Vertrauen aussprechen, zumindest bei "E-Mail".
- die eigene "Schlüsseldatei", .p12, welche das eigene Zertifikat und den private Key des Mailpartners enthält. => Importieren nach "Ihre Zertifikate" Nur an diese Person übergeben!!!
- die Zertifikate der anderen gewollten Nutzer dieses Nutzerkreises, zumindest aber dein eigenes. Zertifikat = nur der öffentliche Schlüssel. => Importieren nach "Personen".
Bei diesen Zertifikaten NICHT noch einmal das Vertrauen aussprechen! Dieses wird von deinem Herausgeberzertifikat automatisch übernommen!
Und dann nicht vergessen, dass jeder in den Konten-Einstellungen > S/MIME noch einmal sein eigenes Zertifikat bewusst zum Entschlüsseln und zum Signieren deklarieren muss.
MfG Peter