小编rex*_*oni的帖子

gpg2:没有密钥

我已经使用 enigmail 一年多了,没有问题,今天它不起作用。

我发现了以下有趣的事实:

gpg --decrypt something.gpg # this works
gpg2 --decrypt something.gpg # this fails
Run Code Online (Sandbox Code Playgroud)

所以我的机器上的 gpg 版本 2 有问题。

这让我看到:

gpg --list-secret-keys # reads from ~/.gnupg/secring.gpg
gpg2 --list-secret-keys # reads from ~/.gnupg/pubring.gpg (pubring?!) 
Run Code Online (Sandbox Code Playgroud)

这似乎是问题的根源……当然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> …
Run Code Online (Sandbox Code Playgroud)

encryption gnupg gpg-agent

23
推荐指数
1
解决办法
3万
查看次数

标签 统计

encryption ×1

gnupg ×1

gpg-agent ×1