使用 GnuPG 解密文件时如何指定私钥?

Cri*_*a23 34 linux encryption gnupg

我正在尝试使用 GnuPG 解密文件,但是在使用以下命令时:

gpg --decrypt filename.gpg
Run Code Online (Sandbox Code Playgroud)

我收到以下消息:

gpg: encrypted with RSA key, ID 3662FD5E
gpg: decryption failed: No secret key
Run Code Online (Sandbox Code Playgroud)

我已经有了用于加密文件的私钥,但我不确定如何指定它。在进行解密以指向此密钥时,我可以包含任何选项吗?

Jen*_*rat 31

我已经有了用于加密文件的私钥,但我不确定如何指定它。

我将其理解为“我有一个包含私钥的文件,但不知道如何告诉 GnuPG 使用它”。

GnuPG 要求将密钥(公共和私有)存储在 GnuPG 密钥环中。这很简单

gpg --import [keyfile]
Run Code Online (Sandbox Code Playgroud)

之后,您应该能够完全按照您已经尝试过的方式解密文件。

  • 那么,一旦您导入了多个密钥,gpg 是否足够聪明以知道要解密哪个密钥? (7认同)
  • 如果密钥被发送方隐藏,GnuPG 只会尝试所有这些。感觉您的用例不是 GnuPG 的设计目标之一。如果您知道正确的私钥,尽管它没有存储在加密文件中,请考虑使用单个私钥管理不同的 GnuPG 主目录/密钥环。 (2认同)

小智 8

bash-4.2$ gpg --import b_secret.key
gpg: key 23E7859B: already in secret keyring
gpg: Total number processed: 1
gpg:       secret keys read: 1
gpg:  secret keys unchanged: 1
bash-4.2$ gpg --decrypt b_txt.asc
gpg: key 23E7859B: secret key without public key - skipped
gpg: encrypted with RSA key, ID 04702E37
gpg: decryption failed: secret key not available
Run Code Online (Sandbox Code Playgroud)

  • 欢迎使用超级用户,您的建议已经在另一个答案中。您应该为该答案投票而不是制作新答案。你还没有足够的声望来做到这一点,等到你这样做。 (3认同)