Я використовую enigmail більше року без проблем, і сьогодні це не працює.
Я виявив такий цікавий факт:
gpg --decrypt something.gpg # this works
gpg2 --decrypt something.gpg # this fails
Тож щось порушено з gpg версією 2 на моїй машині.
Це змусило мене побачити, що:
gpg --list-secret-keys # reads from ~/.gnupg/secring.gpg
gpg2 --list-secret-keys # reads from ~/.gnupg/pubring.gpg (pubring?!)
Здається, це корінь проблеми ... звичайно, gpg2
не можна знайти секретний ключ, тому що він шукає неправильний файл.
Як я можу gpg2
зазнати невдачі, коли мої gpg
роботи прекрасні? Я не бачу жодних варіантів, щоб визначити, звідки читаються секретні ключі.
У когось є ідеї?
Відповідь на @grawity :
Дякую, я вдячний за вашу допомогу. Я побіг strace
, і бачу, про що ти говориш.
Однак навіть після того, як gpg2 --import ...
я не бачу різниці в поведінці. Я можу змусити його працювати лише в тому випадку, якщо перезавантажую (не запускаючи gpg-агент), запускаю gpg2 --import ...
, а потім запускаю gpg2 --decrypt ...
. Після цієї послідовності thunderbird + enigmail також добре поводиться. Однак через 15 хвилин або більше (гадаю, термін дії пароля, який я ввів для розшифровки, минув), gpg-agent
повертаємося до своєї старої поведінки. Ця послідовність повторювана.
Ось ось деякий результат, якщо він допомагає очистити що-небудь:
вихід gpg2 -K
:
/home/<username>/.gnupg/pubring.gpg
---------------------------------
sec rsa4096/AAAAAAAA <date> [SC]
uid [ultimate] <description of me>
ssb rsa4096/BBBBBBBB <date> [E]
вихід gpg-connect-agent
> keyinfo --list
S KEYINFO <keygrip associated with AAAAAAAA> D - - - P - - -
S KEYINFO <keygrip associated with BBBBBBBB> D - - - P - - -
OK
вихід 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>"
вихід 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
та програми, що потребують налаштування pinentry-gtk-2
. До того, як він був встановлений pinentry-gnome3
, який існував у моїй системі, але він не працював. Мені довелося встановити вручну pinentry-gtk-2
.