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
Другие вопросы по тегам