cod*_*edd 9 encryption email thunderbird enigmail gnupg
从 Ubuntu 16.04 开始,插件按预期工作,无需按照已接受的答案中的建议进行降级。该问题适用于 Ubuntu 15.04,也许适用于15.10。
我多年来一直在使用 Thunderbird + Enigmail。我目前在我的工作 PC(Ubuntu 15.04 64 位,带 Gnome Shell)中使用 Thunderbird 38.5.1、Enigmail 版本 1.9 (20160223-1641) 和 GPG 2.0.26。
几天前,在运行 1 年以上后,每当我尝试发送签名或加密的电子邮件时,Enigmail 突然开始抱怨以下错误:
GnuPG 报告与 gpg-agent(GnuPG 的一个组件)通信时出错。
这是一个系统设置或配置错误,导致 Enigmail 无法正常工作且无法自动修复。
我们强烈建议您访问我们的支持网站 https://enigmail.net/faq。
我浏览了 FAQ 页面并尝试了几件事,但我还没有解决问题。
该pinentry命令工作正常,并显示pinentry-qt4窗口(即不是基于文本的):
pinentry <<EOT
SETDESC Hello World
CONFIRM
EOT
Run Code Online (Sandbox Code Playgroud)
但是,该gpg-agent-connect命令失败:
gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
ERR 280 not implemented
Run Code Online (Sandbox Code Playgroud)
我已经尝试按照建议禁用 gnome 钥匙圈,但它也不起作用。(是的,我确实在中间重新启动了系统,但我也想像往常一样启用密钥环。)我还尝试导出并重新导入我的 Enigmail 设置(即$HOME/.gnupg/在此期间重命名为其他内容),但确实如此也不行。
奇怪的是,当我gpg-agent从 shell 手动启动,然后启动 Thunderbird 时,它似乎正在与 通信gpg-agent,如下所示:
gpg-agent --debug-level expert --use-standard-socket --daemon /bin/sh
gpg-agent[6469]: enabled debug flags: command cache assuan
gpg-agent[6469]: directory `/home/ray/.gnupg' created
gpg-agent[6469]: directory `/home/ray/.gnupg/private-keys-v1.d' created
gpg-agent[6469]: listening on socket `/home/ray/.gnupg/S.gpg-agent'
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 started
#
# Thunderbird started at this point
#
$ gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 started
gpg-agent[6470]: chan_7 -> OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 <- OK Pleased to meet you, process 6470
gpg-agent[6470]: chan_6 -> GETINFO pid
gpg-agent[6470]: chan_7 <- GETINFO pid
gpg-agent[6470]: chan_7 -> D 6470
gpg-agent[6470]: chan_7 -> OK
gpg-agent[6470]: chan_6 <- D 6470
gpg-agent[6470]: chan_6 <- OK
gpg-agent[6470]: chan_6 -> BYE
gpg-agent[6470]: chan_7 <- BYE
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated
Run Code Online (Sandbox Code Playgroud)
但是,如果我尝试发送签名和/或加密的电子邮件,则看不到任何输出。这仅在 Thunderbird 启动时显示。
另外,我/usr/bin/gpg-agent --daemon在 Gnome 启动应用程序面板中添加了该命令作为启动应用程序,但没有任何区别。
我想我在 2/23 左右应用了定期更新,但直到本周 2/24 重新启动系统后,问题才显现出来。不幸的是,我不记得更新了哪些软件包,但没有那么多。(我通常会保持系统更新。)
请注意,直到大约 2 天前,这已经在没有问题的情况下工作了多年。(我也一直在我的家用台式电脑上使用这个设置 4 年以上没有问题,但我的工作电脑是一台笔记本电脑,Ubuntu 有时由于未知原因在那里不能很好地工作......)
当我尝试打开我收到的加密电子邮件(或保存的草稿,也是加密的)时,我收到相同的错误消息gpg-agent,但在询问我的私钥密码短语后,它确实解密了电子邮件。
问: 我如何解决这个阻止我发送签名/加密电子邮件的通信错误?
要考虑问题已解决,情况需要恢复正常工作,而不会出现错误消息等。
预先感谢您提供的任何帮助来帮助解决此问题。
在我写这篇文章时,我注意到来自gpg-agent终端守护进程的以下消息:
# ...from previous output above
gpg-agent[6470]: chan_7 -> OK closing connection
gpg-agent[6470]: handler 0x558fd8c23cf0 for fd 7 terminated
#
# new/unexpected error message from agent
#
gpg-agent[6470]: can't connect my own socket: IPC connect call failed
gpg-agent[6470]: this process is useless - shutting down
gpg-agent[6470]: gpg-agent (GnuPG) 2.0.26 stopped
Run Code Online (Sandbox Code Playgroud)
这出乎意料地出现了,因为在此期间我没有要求 Thunderbird 做任何特别的事情。
我从 15.04 -> 15.10 -> 16.04 更新,可以确认 Thunderbird 38.6 + Enigmail 1.9.1 对我来说正常工作。命令的输出也是它们应该是什么:
? ~ pinentry <<EOT
heredoc> SETDESC Hello World
heredoc> CONFIRM
heredoc> EOT
OK Pleased to meet you
OK
OK
? ~ gpg-connect-agent <<EOT
heredoc> GETINFO version
heredoc> EOT
D 2.1.11
OK
Run Code Online (Sandbox Code Playgroud)
虽然thisthatother的答案只展示了如何在Debian系统上解决它,但方法是相同的:
降级。
由于Enigmail 2月23日发布1.9版本,从那天开始出现问题,解决方案只有三个:
我对 1 或 2 无能为力,但对 3 有帮助:
它现在应该像 Enigmail 1.9 更新之前一样工作。
我建议禁用 Enigmail 的自动更新,直到 1.9 中引入的这个错误得到解决。您可以通过单击 Thunderbird 附加组件页面中 Enigmail 扩展的描述文本中的“更多”链接来禁用它们。
| 归档时间: |
|
| 查看次数: |
5934 次 |
| 最近记录: |