Używam enigmail od ponad roku bez problemu, a dziś to nie działa.
Znalazłem następujący interesujący fakt:
gpg --decrypt something.gpg # this works
gpg2 --decrypt something.gpg # this fails
Więc coś jest nie tak z gpg w wersji 2 na moim komputerze.
Doprowadziło mnie to do tego, że:
gpg --list-secret-keys # reads from ~/.gnupg/secring.gpg
gpg2 --list-secret-keys # reads from ~/.gnupg/pubring.gpg (pubring?!)
To wydaje się być przyczyną problemu ... oczywiście gpg2
nie można znaleźć tajnego klucza, ponieważ szuka on niewłaściwego pliku.
Jak mogłem gpg2
ponieść porażkę, gdy moje gpg
prace działały dobrze? Nie widzę żadnych opcji określających, skąd są odczytywane tajne klucze.
Czy ktoś ma jakieś pomysły?
Odpowiedź na @grawity :
Dziękuję, doceniam twoją pomoc. Pobiegłem strace
i widzę, o czym mówisz.
Jednak nawet po tym, jak gpg2 --import ...
nie widzę żadnej różnicy w zachowaniu. Mogę go uruchomić tylko wtedy, gdy uruchomię ponownie (bez uruchamiania gpg-agent), uruchom gpg2 --import ...
, a następnie uruchom gpg2 --decrypt ...
. Po tej sekwencji thunderbird + enigmail również zachowuje się ładnie. Jednak po około 15 minutach (zgaduję, że hasło, które wprowadziłem w celu odszyfrowania wygasło), gpg-agent
to wraca do swojego starego zachowania. Ta sekwencja jest powtarzalna.
Oto kilka danych wyjściowych, jeśli to pomaga wyczyścić cokolwiek:
wyjście gpg2 -K
:
/home/<username>/.gnupg/pubring.gpg
---------------------------------
sec rsa4096/AAAAAAAA <date> [SC]
uid [ultimate] <description of me>
ssb rsa4096/BBBBBBBB <date> [E]
wyjście z gpg-connect-agent
> keyinfo --list
S KEYINFO <keygrip associated with AAAAAAAA> D - - - P - - -
S KEYINFO <keygrip associated with BBBBBBBB> D - - - P - - -
OK
wyjście z 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>"
wyjście z 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
gpg-agent
i program pinentry musiał być ustawiony na pinentry-gtk-2
. Wcześniej był ustawiony na pinentry-gnome3
, który istniał w moim systemie, ale nie działał. Musiałem ręcznie zainstalować pinentry-gtk-2
.