Ich benutze Enigmail seit über einem Jahr ohne Probleme und heute funktioniert es nicht mehr.
Ich fand die folgende interessante Tatsache:
gpg --decrypt something.gpg # this works
gpg2 --decrypt something.gpg # this fails
Mit gpg Version 2 auf meinem Computer ist also etwas kaputt.
Das hat mich dazu gebracht zu sehen, dass:
gpg --list-secret-keys # reads from ~/.gnupg/secring.gpg
gpg2 --list-secret-keys # reads from ~/.gnupg/pubring.gpg (pubring?!)
Dies scheint die Wurzel des Problems zu sein ... natürlich gpg2
kann den geheimen Schlüssel nicht finden, da er in der falschen Datei gesucht wird.
Wie könnte mein gpg2
scheitern, wenn meine gpg
funktioniert gut? Ich sehe keine Optionen, um anzugeben, woher die geheimen Schlüssel gelesen werden.
Hat jemand irgendwelche Ideen?
Antwort auf @grawity :
Danke, ich danke Ihnen für Ihre Hilfe. ich rannte strace
und ich verstehe, wovon du redest.
Jedoch auch danach gpg2 --import ...
Ich sehe keinen Unterschied im Verhalten. Ich kann es nur zum Laufen bringen, wenn ich neu starte (ohne gpg-agent zu starten), laufe gpg2 --import ...
, dann renne gpg2 --decrypt ...
. Nach dieser Sequenz verhält sich thunderbird + enigmail ebenfalls gut. Nach ungefähr 15 Minuten ist das zum Entschlüsseln eingegebene Passwort jedoch abgelaufen gpg-agent
ist zurück zu seinem alten Verhalten. Diese Sequenz ist wiederholbar.
Hier ist also eine Ausgabe, wenn es hilft, etwas aufzuklären:
Ausgabe von gpg2 -K
:
/home/<username>/.gnupg/pubring.gpg
---------------------------------
sec rsa4096/AAAAAAAA <date> [SC]
uid [ultimate] <description of me>
ssb rsa4096/BBBBBBBB <date> [E]
Ausgabe von gpg-connect-agent
> keyinfo --list
S KEYINFO <keygrip associated with AAAAAAAA> D - - - P - - -
S KEYINFO <keygrip associated with BBBBBBBB> D - - - P - - -
OK
Ausgabe von gpg2 -v -r <my email> -e testfile
gpg: using PGP trust model
gpg: using subkey BBBBBBBB instead of primary key AAAAAAAA
gpg: This key belongs to us
gpg: reading from 'testfile'
gpg: writing to 'testfile.gpg'
gpg: RSA/AES256 encrypted for: "BBBBBBBB <description of me>"
Ausgabe von gpg2 -v -d testfile.gpg
gpg: public key is BBBBBBBB
gpg: using subkey BBBBBBBB instead of primary key AAAAAAAA
gpg: using subkey BBBBBBBB instead of primary key AAAAAAAA
gpg: encrypted with 4096-bit RSA key, ID BBBBBBBB, created <date>
"<description of me>"
gpg: public key decryption failed: Operation cancelled
gpg: decryption failed: No secret key
quelle
gpg-agent
, und das Pinentry-Programm musste auf eingestellt werdenpinentry-gtk-2
. Bevor es eingestellt wurdepinentry-gnome3
, was auf meinem System existierte, aber es hat nicht funktioniert. Ich musste manuell installierenpinentry-gtk-2
.Antworten:
Das ist nicht das nur Datei, die es betrachtet.
In GnuPG 1.x (und 2.0) enthielt das "Secring" auch eine Kopie der öffentlichen Daten Ihres Schlüsselblocks, so dass es vollständig in sich geschlossen war (und der einzige Unterschied zwischen
gpg -k
undgpg -K
war die Datei, die es gelesen hatte), aber gleichzeitig schwieriger für das Programm zu pflegen.In GnuPG 2.1 werden geheime Schlüssel jetzt unabhängig voneinander gespeichert - sie werden von verwaltet gpg-agent , das hält sie in
~/.gnupg/private-keys-v1.d/
. Also beidesgpg -k
undgpg -K
Jetzt müssen die OpenPGP-Informationen aus dem Pubring gelesen werden, letzterer fragt aber zusätzlich nach gpg-agent über welche Zertifikate geheime Schlüssel zugeordnet sind. Wenn Sie verwenden strace solltest du aconnect()
Rufen Sie gleich nach dem Lesen der Kneipe an.Wenn GnuPG die Schlüssel nicht automatisch migriert hat, importieren Sie einfach den gesamten Secring direkt:
So überprüfen Sie den Inhalt des Agenten manuell:
Dies sind "Schlüsselgriffe" - vergleiche sie mit GnuPGs Geheimnissen:
quelle
gpg --gen-key
das wollte ich mit benutzengopass
. Unglücklicherweise,gopass
Verwendetgpg2
...gpg2 --import
Lief wie am Schnürchen! Vielen Dank!gpg2 --import ~/.gnupg/pubring.gpg
behoben.Schließlich entschied ich, dass das Problem darin bestand, dass ich Debian Unstable verwendete, und dass eine Versionsinkongruenz von a
apt-get dist-upgrade
. Ich nehme an, deshalb nennen sie es "instabil".quelle