GPG/ Агент не запрашивает пароль
Я немного разочарован своей установкой Ubuntu (17.04) с Enigmail 1.9.7/GPG 2.1.15. Я думаю, что после перехода с Ubuntu/Unity на Ubuntu GNOME (но я действительно не знаю, был ли это триггер), Enigmail перестал работать: я больше не могу дешифровать входящие зашифрованные электронные письма. Меня не спрашивают пароль к моему ключу GPG, pinentry (несмотря на то, что он обычно работает в тестах) пропускает запрос пароля, а gpg-agent просто говорит мне, что пароль не был задан.
Thunderbird / Enigmail сообщает мне "Missing Passphrase", вот где я начал. Затем я отладил проблему настолько, насколько мог, используя эту ссылку, официальное руководство по устранению неполадок Enigmail и многие, многие другие ссылки и руководства.
- Я МОГУ подписывать письма (присланные мне в качестве теста), проверка их в Thunderbird не проблема.
Я могу отправлять зашифрованные письма самому себе; полученная Почта имеет информацию от Enigmail, что парольная фраза отсутствует:
Все тесты pinentry из руководства по устранению неполадок Enigmail в порядке, я вижу диалоговое окно pinentry в стиле GNOME.
- мой
~/.gnupg/gpg.conf
содержит строку `use-agent'(даже если это больше не нужно в GPG 2.1) - мой
~/.gnupg/gpg-agent.conf
содержит строкуpinentry-program /usr/bin/pinentry-gnome3
- четноеpinentry-program /usr/bin/pinentry
работает здесь, так как он автоматически обнаруживаетDISPLAY/x11/GNOME
похоже на то.
Я запустил gpg-agent используя gpg-agent --debug-level expert --daemon /bin/sh
, регистрируя все действия агента gpg, которые выводятся при попытке расшифровки:
gpg-agent[22794]: DBG: chan_4 -> INQUIRE PINENTRY_LAUNCHED 22797
gpg-agent[22794]: DBG: chan_4 <- END
gpg-agent[22794]: DBG: error calling pinentry: No passphrase given <GPG Agent>
gpg-agent[22794]: failed to unprotect the secret key: No passphrase given
gpg-agent[22794]: failed to read the secret key
gpg-agent[22794]: command 'PKDECRYPT' failed: No passphrase given
gpg-agent[22794]: DBG: chan_4 -> ERR 67109041 No passphrase given <GPG Agent>
gpg-agent[22794]: DBG: chan_4 <- [eof]
Если я сохраню зашифрованную почту в файл eml и сделаю gpg -d file.eml
вручную. Тот же результат, что и раньше:
$ gpg -d FM.eml
gpg: encrypted with 4096-bit RSA key, ID XXXXXXXXXXXXXXXX, created XXXX-XX-XX
"Christian Gonzalez <xxxxxxx.xxxxxxxxx@xxxx.xxx>"
gpg: public key decryption failed: No passphrase given
gpg: decryption failed: No secret key
редактирование ~/.gnupg/gpg.conf
и удаление линии
default-key XXXXXXXXXXXXX
действительно помогли, но после перезагрузки системы старая проблема вернулась.
У кого-нибудь есть подсказка для меня?
Может быть, это связано с "особенностью" Ubuntu в использовании Gnome-Keyring в качестве агента? Это правда?
2 ответа
Я была такая же проблема.
Я удалил по умолчанию pinentry
пакет, а именно pinentry-gnome3
и установлен pinentry-qt
вместо этого, и теперь загадка подсказывает мне пропуск. Я надеюсь, что это работает для вас.
Я добавил эти строки в ~/.xinitrc
файл, и он снова работает:
if [ -d /etc/X11/xinit/xinitrc.d ] ; then
for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
[ -x "$f" ] && . "$f"
done
unset f
fi