无法检查签名:未找到公钥

cod*_*man 48 encryption cmd gnupg pgp

我尝试使用以下命令解密文件:

gpg --output file.txt --decrypt file.pgp
Run Code Online (Sandbox Code Playgroud)

文件已成功解密但我收到错误:

"gpg:无法检查签名:未找到公钥"

任何想法,为什么我得到这个错误?

rag*_*rdl 29

你需要你的gpg钥匙圈中的公钥.要将公钥导入公钥,请将公钥块放在扩展名为.gpg的文本文件中,然后发出以下命令:

gpg --import <your-file>.gpg
Run Code Online (Sandbox Code Playgroud)

加密文件的实体应该为您提供这样的块.例如,ftp://ftp.gnu.org/gnu/gnu-keyring.gpg包含gnu.org的块.

有关更深入的说明,请参阅 使用GPG验证文件,而不使用.sig或.asc文件?

  • 验证签名消息时是否可以自动导入未知公钥? (2认同)

use*_*031 26

您收到该错误,因为您没有签名邮件的人的公钥.

gpg应该给你一条消息,其中包含用于签名的密钥的ID.从加密文件的人那里获取公钥并将其导入密钥环(gpg2 --import key.asc); 你应该能够在那之后验证签名.

如果发件人将其公钥提交给密钥服务器(例如,https://pgp.mit.edu/ ),那么您可以直接从密钥服务器导入密钥:

gpg2 --keyserver https://pgp.mit.edu/ --search-keys <sender_name_or_address>
Run Code Online (Sandbox Code Playgroud)

  • 如果您使用的是命令行工具,请将公钥复制到文件中,然后使用`gpg --import key.txt`. (4认同)
  • 我自己签了一个文件,这发生在我身上.`gpg -k`列出了我的公钥.有任何想法吗? (3认同)
  • 那么为什么我可以解密这个文件呢? (2认同)
  • 因为`gpg`不需要您验证签名即可解密。 (2认同)
  • 我只是遇到了类似的问题,`--keyserver https:// pgp.mit.edu /`不适用于我,但是`--keyserver hkps:// pgp.mit.edu /`却适用。 (2认同)

小智 22

有类似的问题,是tomcat的数字签名。

$ gpg --verify apache-tomcat-9.0.16-windows-x64.zip.asc apache-tomcat-9.0.16-windows- 
x64.zip
gpg: Signature made 2019?02? 5?  0:32:50
gpg:                using RSA key A9C5DF4D22E99998D9875A5110C01C5A2F6059E7
gpg: Can't check signature: No public key
Run Code Online (Sandbox Code Playgroud)

但后来我使用它提供的 RSA 密钥来接收公钥进行验证。

$ gpg --receive-keys A9C5DF4D22E99998D9875A5110C01C5A2F6059E7
gpg: key 10C01C5A2F6059E7: 38 signatures not checked due to missing keys
gpg: key 10C01C5A2F6059E7: public key "Mark E D Thomas <markt@apache.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1
Run Code Online (Sandbox Code Playgroud)

然后成功了。

$ gpg --verify apache-tomcat-9.0.16-windows-x64.zip.asc
gpg: assuming signed data in 'apache-tomcat-9.0.16-windows-x64.zip'
gpg: Signature made 2019?02? 5?  0:32:50
gpg:                using RSA key A9C5DF4D22E99998D9875A5110C01C5A2F6059E7
gpg: Good signature from "Mark E D Thomas <markt@apache.org>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: A9C5 DF4D 22E9 9998 D987  5A51 10C0 1C5A 2F60 59E7
Run Code Online (Sandbox Code Playgroud)