我在使用 gpg2 解密文件时遇到问题。我最初使用 gpg 版本 1.4 加密文件。我现在使用的机器有 gpg (1.4) 和 gpg2。使用 gpg 解密效果很好,但是当我使用 gpg2 执行相同的命令时,它超时:
$ echo "This is a test" > test.txt
$ gpg -r MyOwnId --encrypt test.txt
(creates test.txt.gpg)
$ gpg --decrypt test.txt.gpg
(provide passphrase for MyOwnId)
-> This is a test
$ gpg2 --decrypt test.txt.gpg
(after a long timeout)
-> gpg: encrypted with 2048-bit RSA key, ID #######, created YYYY-MM-DD "MyOwnId"
gpg: public key decryption failed: Timeout
gpg: decryption failed: No secret key
这是怎么回事?它说“没有密钥”,但运行 gpg2 --list-secret-keys 显示以下内容:
/home/me/.gnupg/pubring.kbx
-------------------------------
sec rsa2048/######## YYYY-MM-DD
uid [ unknown] MyOwnId
ssb rsa2048/######## YYYY-MM-DD
更新1:
看来问题不在于 gpg2 本身,而在于我的 Gnome 密钥环或其他东西。以前,当我尝试使用 gpg2 解密文件时,它只会挂起,然后超时。但是,一旦我用自己的密钥加密了一个测试文件,然后解密了该文件,它就会提示我输入密码。现在我的密码位于我的密钥环中,一切正常。可能只是暂时的事情(我注销并在当时和现在之间重新登录)。如果有人有关于此类问题的更多信息,我很想知道。我会再过一两天,如果不再发生,则关闭问题。
答案1
我遇到了同样的问题,正如 Martin Kunev 所说,您可以尝试重新启动 gpg-agent,如下所示 https://superuser.com/a/1150399
gpgconf --kill gpg-agent
下次需要时,它将自动重新启动。