gpg2 解密超时/没有密钥

Nat*_*ace 7 gnome gnome-keyring gpg

我在用 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
Run Code Online (Sandbox Code Playgroud)

这是怎么回事?它说“没有密钥”,但运行 gpg2 --list-secret-keys 显示:

/home/me/.gnupg/pubring.kbx
-------------------------------
sec   rsa2048/######## YYYY-MM-DD
uid         [ unknown] MyOwnId
ssb   rsa2048/######## YYYY-MM-DD
Run Code Online (Sandbox Code Playgroud)

更新 1:

看起来问题不在于 gpg2 本身,而在于我的 Gnome 钥匙圈或其他东西。以前,当我尝试使用 gpg2 解密文件时,它只会挂起,然后超时。但是,一旦我用自己的密钥加密了一个测试文件,然后解密该文件,它就会提示我输入密码。现在我的密码在我的钥匙圈中,一切正常。可能只是暂时的事情(我在那时和现在之间退出并返回)。如果有人对此类问题有更多信息,我很想知道。我再给它一两天,然后如果它不再发生就关闭这个问题。

小智 1

我遇到了同样的问题,正如 Martin Kunev 所说,您可以尝试重新启动 gpg-agent,如下所示 https://superuser.com/a/1150399

gpgconf --kill gpg-agent
Run Code Online (Sandbox Code Playgroud)

下次需要时,它将自动重新启动。