Thunderbird findet externen privaten PGP-Schlüssel zur Entschlüsselung nicht

Hallo zusammen,

ich verwende auf Windows 10 Pro Thunderbird portable 102.13.1 (64-Bit) und möchte aus Sicherheitsgründen den privaten Schlüssel nicht in TB importieren, sondern weiterhin von GnuPG verwalten lassen. Zu Testzwecken schickte ich mir selbst eine Mail. Die Verschlüsselung funktionierte aber beim Öffnen erscheint die Fehlermeldung: „Der zum Entschlüsseln dieser Nachricht benötigte geheime Schlüssel ist nicht vorhanden.“ Die Installation von GnuPG erfolgte bei den ersten Versuchen auf einer Datenpartition. Um etwaige Probleme auszuschließen, führte ich eine Neuinstallation von GnuPG auf der Systempartition durch. Meine Vermutung ist, dass TB GnuPG nicht findet.
Das führte ich bisher durch:

  • öffentlichen Schlüssel in TBs Schlüsselverwaltung importiert und verifiziert
  • Erweiterte Einstellungen mail.openpgp.allow_external_gnupg = true
  • E-Mail-Konto gewählt – Ende-zu-Ende-Verschlüsselung – Schlüssel hinzufügen… – Externen Schlüssel mittels GnuPG benutzen – ID des geheimen Schlüssels: [letzten 16 Zeichen des Fingerabdrucks]

Zur Sicherheit mit dem Privacy-Handbuch abgeglichen → identische Vorgehensweise. Weiterhin erstellte ich die gpg.conf (war vorher nicht vorhanden) und passte auch die gpg-agent.conf mit folgenden Werten an: default-cache-ttl 300 max-cache-ttl 360 in einem anderen Forum wurden die Werte default-cache-ttl 60 max-cache-ttl 600 ignore-cache-for-signing → brachte auch nichts. Also weiter:

Mozilla zeigt eine gesonderte Vorgehensweise für TB 64-Bit auf: Win + I – Erweiterte Systemeinstellungen – Umgebungsvariablen… – Systemvariablen (nicht Benutzervariablen) – Doppelklick auf Path – Neuen Eintrag C:\Program Files (x86)\Gpg4win\bin_64 hinzufügen – Eintrag ggf. über existierende Gpg4win-Einträge schieben → Auch wieder nix…

Im Nitrokey-Forum wurde noch Folgendes gemacht: mail.openpgp.alternative_gpg_path C:\Programm Files (x86)\GnuPG\bin\gpg.exe
Zusätzlich gibt es den Hinweis, dass in GnuPG getrennte Schlüssel nicht genutzt werden können (Unterschlüssel von „Verschlüsseln“ besitzt andere ID als „Beglaubigen, Signieren, Authentifizieren“). Also erstellte ich einen neuen Schlüssel (ohne Unterschlüssel). → Ebenfalls nix. Bei Mozilla las ich, dass TB sich schon den richtigen Schlüssel aussucht. Btw.: Ein in TB erstellter privater Schlüssel besitzt auch zwei Unterschlüssel.

Im TB-Forum heißt es:

Das funktioniert nur mit der 32 bit Version von Thunderbird 102.9.0. Wahrscheinlich deswegen, weil GnuPG für Windows (Gpg4Win) mit Kleopatra als Zertifikat Manager auch 32 bit ist.

Ist das für euch schlüssig? Das würde doch der o. g. 64-Bit-Vorgehensweise von Mozilla widersprechen. Der Tipp mit der 40-stelligen ID half bei mir auch nicht.

Nun bin ich nach einigen Tagen der Recherche mit meinem Latein am Ende. Würde mich freuen, wenn einer von euch das auf Windows zum Laufen bekommen hat.

Die letzte Möglichkeit für mich wäre die Importierung des privaten Schlüssels in TB. Da TB portable in einem verschlüsselten Container läuft, ist es dann vielleicht auch nicht so problematisch. Trotzdem unbefriedigend, falls mal jemand die Installationsversion nutzten möchte.

Danke im Voraus!

Thunderbird hat seine eigene Schlüsselverwaltung, dem bringst Du nicht bei auf GnuPG zu zu greifen.
Du kannst das Addon Mailvelope und das Webinterface Deines Providers verwenden, MAilvelope kann auf GnuPG zu greifen.

Bei dem für den Mailclient genutzten Linux habe ich kein Problem damit, für die Entschlüsselung von Nachrichten nur im lokalen .gnupg-Verzeichnis enthaltenen GnuPG-Keys zu verwenden.
Diese wurden und werden nicht in TB importiert und es geht dennoch.

Das soll allerdings nur darauf hinweisen, das es mit TB durchaus möglich ist, lokale Keys zu nutzen. Würde man das nicht anbieten, wären Smartcard-User anfänglich ausgeschlossen gewesen und der Zweck der Umstellung allzu leicht erkennbar.

Screenshot (139)
Diese Meldung die beim hinzufügen der GnuPGKeys kommt, widerspricht Deiner Aussage aber, oder unterscheiden sich die Win64 und Linux Versionen so drastisch?

@jdevlx Genau so ist es. Das ist für Windows und Linux vorgesehen. Das belegen ja auch meine Links. Linuxnutzer scheinen damit auch kein Problem zu haben. Meine Vermutung ist, dass Kane das auch mit Linux durchgespielt hat. Wie sehen eigentlich deine Einträge in der gpg-agent.conf aus? @M-u-m-p-i-t-z Der Infotext ist tatsächlich widersprüchlich. Standardmäßig ist der Wert mail.openpgp.allow_external_gnupg = false - man sieht die dritte Option also nicht. Dann ergibt die Information schon Sinn.
Die Meldungen unterscheiden sich nicht. Ein Wiki für archlinux beschreibt die identische Einblendung.
Naja, ich warte mal ab, vielleicht ergibt sich noch etwas.

ich habe das Prozedere durchgeführt und eine privaten Schlüssel hinzugefügt, der wurde mir dann im TB zusätzlich angezeigt, was funktioniert denn da jetzt nicht bei Dir?

Du hast also die dritte Option gewählt? Dann eine Mail an dich geschickt und konntest diese entsprechend entschlüsseln? Dann herzlichen Glückwunsch :+1:. Falls du aber nur bis zu dem Punkt gelangt bis, dass dir der Fingerabdruck (also die letzten 16 Zeichen) in den Kontoeinstellungen angezeigt wird, heißt das leider noch nicht, dass die Entschlüsselung funktioniert. Selbst wenn eine falsche Zeichenkette eingegeben wurde, meckert TB an dieser Stelle nicht, da die ID nicht geprüft wird.
Der Import des privaten Schlüssels (Option 2) funktioniert bei mir auch - beschrieb ich bereits. Ich möchte aber den privaten Schlüssel nicht importieren, sondern wie @jdevlx auf GnuPG zugreifen (also Option 3).

jep habs jetzt gecheckt, hatte den schlüsselbund noch importiert, nachdem ich den gelöscht hatte bekomme ich keine Nachrichten entschlüsselt… TB holt sich nicht den privaten von GnuPG… Ich habe zum testen mal die Mail gespeichert und dann mit GnuPG entschlüsselt , das funktioniert.

btw. ich habe das Profilverzeichnis von Thunderbird in einen verschlüsselten Container verwandelt, vielleicht wäre das eine Lösung für Dich die privaten Schlüssel zu importieren und trotzdem genug Schutz zu haben. Man muss den Container halt nur vor jedem starten des TB einhängen.

Danke für deine Unterstützung. Dann scheint es wohl doch unter Windows zu haken - oder wir machen beide etwas falsch. :thinking: Da bei mir die Portable Apps (u. a. auch Thunderbird) in einem verschlüsselten Container laufen, ist dieser TB-Windows-Bug (Feature?) zu verschmerzen aber unschön. Für Nutzer einer TB-Installation ist dein Tipp mit der Profilverschlüsselung hilfreich.

ich habs gelöst…

prüfe ob die Pfade korrekt sind wie hier unter 64bit beschrieben—> https://wiki.mozilla.org/Thunderbird:OpenPGP:Smartcards
Ich habe hier korrigieren müssen, einmal den bin_64 Pfad hinzugefügt plus
mein GnuPG lag nicht im Gpg4win Pfad beides geändert nun entschlüsselt er… ob die PIN Frage kommt weiß ich grad nicht mus ich nochmal tetsen
achte darauf den Laufwerksbuchstaben groß zu schreiben

Den wiki-Tipp hatte ich schon befolgt. Mir fiel auf, dass GnuPG diesen Eintrag C:\Program Files (x86)\Gpg4win\..\GnuPG\bin hinzufügte. Ich änderte ihn ab und das sieht nun so wie bei dir aus:
Screenshot
Die externe GnuPG-Schlüssel-ID in den Konto-Einstellungen ist bei dir aber weitehin 16-stellig oder?
Unter Extras - OpenPGP-Schlüssel verwalten sieht es bei mir so aus:
öffentlich
Typ: öffentlicher Schlüssel; Schlüssel-ID: 0x8…; Algorithmus: RSA; Länge: 4096

Nichtsdestotrotz freut es mich, dass bei dir die Ver- und Entschlüsselung funktioniert. Vielleicht kannst du dir noch einmal meinen Anfangsbeitrag anschauen und das mit deiner Vorgehensweise abgleichen. Ansonsten weiß ich nicht, an welcher Stelle es bei mir noch hängen kann. Im Gegensatz zu mir hast du Thunderbird installiert (nicht portabel)?

Ja genau, so sah das bei mir auch aus… zuvor habe ich nur noch mal die 16 Stellen abgezählt, ich hatte tatsächlich 17, man kann dort den kompletten Fingerprint reinkopieren er nimmt alles, aber nur 16 sind korrekt und das von rechts nach links…was noch negativ auffällt, im TB wird der verwendete Schlüssel nicht mehr angezeIgt … normal steht da die ID des Schlüssels bei.
PIN Abfrage hat aber funktioniert.

ansonsten hatte ich nur in der about:config den externen auf True gesetzt und den Schlüsselbund aus TB rausgelöscht… Da ich das ja so nicht machen will, habe ich alles wieder Rückgängig gemacht, ich schau nachher mal, ob ich sonst noch was finden kann, was Dir hilft.
Kann man jede TB Version auf USB installieren?
Vielleicht muss man als portable Version den internen Keyserver nutzen, weil externen generell misstraut wird?

Edit:
Ich muss Dir wohl Mitteilen das eine solche Konfiguration nicht vorgesehen ist

The main advantage for Thunderbird users is that they do not have to install an additional application like Gpg4win on Windows. The main drawback is that Thunderbird has its own handling of key material which is separated from the rest of the operating system and other applications that are using GnuPG for example. Some abilities that GnuPG provides are missing, e.g. handling of hardware tokens like smardcards or usb devices.

Thunderbird can still be configured to use a system’s GnuPG installation for private key operations see https://wiki.mozilla.org/Thunderbird:OpenPGP:Smartcards .

Warum das mit der Smartcards Anleitung bei Dir jetzt nicht funktioniert kann ich nicht sagen, aber ich würde mal versuchen alle sonstigen Änderungen wieder rückgängig zu machen. Auch kann es sein, das durch die portable Version, eventuell die Smartcard Variante nicht funktioniert.

btw. Die S/MIME Schlüssel werden synchronisiert, hatte einen bei Kleoprata hinzugefügt und der stand sofort bei Thunderbird zu Verfügung, ohne die Veränderung von mail.openpgp.allow_external_gnupg auf true.

Danke für deine Recherche. Es ist vielleicht nicht vorgesehen, jedoch von dir bewiesen, dass es funktioniert (und bei jdevlx unter Linux auch). Ich bin mir sehr sicher, dass das Problem vor dem Monitor sitzt: Ich unternahm noch einmal einen Versuch auf einem anderen PC und installierte TB ohne Addons nur mit der einen config-Änderung. Zusätzlich erstellte ich mit Kleopatra einfach mal einen RSA 2048-Schlüssel. Ergebnis:

Die Programmpfade in Windows sind auch eingefügt.

Habe nicht mal das hinbekommen. Verschlüsselte Mail als .eml gespeichert und dann?

Da ich nun zu 99,99 % ausschließen kann, dass es an der portablen Version liegt, will ich dir trotzdem noch deine Fragen beantworten:

  • Unter portableapps.com wird zwar immer nur die aktuellste Version angeboten, aber hier bekommt man auch ältere.
  • Wäre möglich, da ich aber auch die Installationsversion (102.14.0) nicht zum Laufen bekomme, wohl eher nicht.

Verschlüsselte/entschlüsselte testweise eine beliebige Datei auf dem Desktop - funktioniert.

Das eml-Format ist evtl. nicht der verschlüsselte Text der E-Mail. Soweit ich erinnere, ist das ein Container, in dem dann die eigentlichen Dateien sind. Bin aber kein MS-Kenner.

Grundsätzlich hat das TB-Team mit der Änderung den Support von Verschlüsselung erschwert. Wenn man sich die Details, Probleme und Reaktionen des Teams darauf in Foren usw. ansieht, so kommt man nicht umhin anzunehmen, das es schlicht nicht erwünscht ist, dass allzu viele Anwender private Schlüssel nur ausserhalb der Software vorhalten.

Den Eindruck teile ich. Mich packte trotzdem der Ehrgeiz, das irgendwie gelöst zu bekommen. Zumal @M-u-m-p-i-t-z das unter Windows schaffte. Falls ich doch die weiße Fahne schwenken muss, bleibt mein Ansatz mit dem verschlüsselten Container.

Und dann im Explorer mit rechts klick More GpgEx Options—>Decrypt

.eml ist ein standard E-Mail format (OS egal) beim exportieren, inklusive Anhänge, kann mit fast jedem Mail-clienten geöffnet werden, in diesen Fall halt verschlüsselt.

Korrekt ist Standard, jetzt erinnere ich mich auch wieder. Habe vor Jahren selbst solche Dateien im Rahmen des E-Mail-Support mit TB geöffnet.
Ist die eml-Datei aber als solche verschlüsselt? Oder benotigt man z.B. das genannte Tool um den verschlüsselten Textteil aus dem Container zu extrahieren?

@MacGyver Gebe selbst auch erst auf, wenn sich im Verlauf herausstellt, dass es technisch erwiesen nicht möglich oder die erzielte Lösung trotz Erfolg nicht praktikabel ist.
Insofern wollte ich das Vorhaben nicht in Frage stellen und halte es auch für wichtig da Klarheit zu haben.

Hi! Ja hatte ich gemacht - bin nur nicht detailliert darauf eingegangen… In TB die verschlüsselte E-Mail markiert - Datei - Speichern als - Datei… - auf Desktop gespeichert - Rechtsklick auf die verschlüsselte .eml - Mehr GpgEX Optionen - Entschlüsseln; Mein Resultat: ernüchternd, da nichts passiert → weiter verschlüsselt, kein entschlüsselter Export


Konntest du in meiner Screenshotsammlung (mit den Schlüsseleinstellungen) weiter oben einen Fehler finden?

@jdevlx Alles schick. Langsam entwickelt sich das Verhältnis Aufwand - Nutzen in eine ungewünschte Richtung… Für das Forum betreibe ich den Aufwand gerne. Im Grunde ist das Thema durch M-u-m-p-i-t-z gelöst worden. Funktioniert bei mir halt nur nicht. Vielleicht hätte er mal ein Video machen sollen :smile:

Du hast aber eine verschlüsselte Mail exportiert?
So sah das bei den Schlüsseln bei mir auch aus, nur das ich den öffentlichen noch importieren musste.

@jdevlx Ich denke die .eml Datei lässt sich weiter mit einem E-Mail Client öffnen, nur wird er dann nach dem Schlüssel fragen.

Braucht kein Video, ich kann das gerne noch wiederholen, das war jetzt kein Hexenwerk.

So wurde die verschlüsselte Mail von mir exportiert:

Belege, dass eine verschlüsselte Mail exportiert wurde:

  • rote Fehlermeldung siehe oben und der Betreff ist nicht erkennbar (mein Betreff ist nicht „…“)
  • .eml geöffnet, ohne dass TB vorher gestartet wurde; siehe unten (öffne ich die .eml wenn TB gestartet ist, erscheint die rote Fehlermeldung)

Mich irritiert auch die Kleopatra-Ergebnismeldung meines vorherigen Posts (Entschlüsselungsversuch): „Es kann nicht ermittelt werden ob es sich um eine S/MIME-/OpenPGP-Signatur handelt - möglicherweise handelt es sich nicht um eine Signatur?“