GPG / Agent不要求输入密码

我对使用Enigmail 1.9.7 / GPG 2.1.15的Ubuntu(17.04)安装感到有点沮丧。 我认为在从Ubuntu / Unity更改为Ubuntu GNOME之后(但我真的不知道这是否是触发器),Enigmail停止工作:我无法解密传入的加密电子邮件。 我没有被问到我的GPG密钥密码,pinentry(尽管通常在测试中工作)跳过提示输入密码和gpg-agent只是告诉我没有给出密码。

Thunderbird / Enigmail告诉我“Missing Passphrase”,这就是我开始的地方。 然后,我尽可能地调试问题,使用此链接 , 官方Enigmail故障排除指南以及许多更多链接和指南。

  • 我可以签名邮件(发送给我自己作为测试),在Thunderbird中validation它们是没问题的。
  • 我可以给自己发送加密的邮件; 收到的邮件有Enigmail的信息,密码短缺: 截图

  • Enigmail故障排除指南中的所有pinentry测试都没问题 ,我看到了GNOME样式的pinentry对话框。

  • 我的~/.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 --debug-level expert --daemon /bin/sh启动了gpg-agent,记录了所有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[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[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 " gpg: public key decryption failed: No passphrase given gpg: decryption failed: No secret key 

编辑~/.gnupg/gpg.conf并删除该行

 default-key XXXXXXXXXXXXX 

首先做了帮助,但系统重启后,旧问题又回来了。

有人对我有暗示吗?

也许它与Ubuntu使用Gnome-Keyring作为代理的“特性”有关? 真的吗?

我遇到过同样的问题。

我删除了默认的pinentry包,即pinentry-gnome3 ,然后安装了pinentry-qt ,现在enigma会提示我传递。 我希望这个对你有用。

我已将这些行添加到~/.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