Я использую 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-agent), запускаю 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