PGP TarBall文件签名密钥验证失败,未找到有效的OpenPGP数据

时间:2013-09-23 20:10:59

标签: openpgp

这是我第一次想到我最好检查一下我要安装的绑定软件的密钥。所以我下载了我认为是OpenPGP密钥......

$ wget ftp://ftp.isc.org/isc/bind9/9.9.4/bind-9.9.4.tar.gz.sha1.asc

...然后我试着像这样“导入”这个键......

$ gpg --import bind-9.9.4.tar.gz.sha1.asc

...但我收到此错误消息:

gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

我做错了什么?

谢谢!

2 个答案:

答案 0 :(得分:8)

命令语法为gpg bind-9.9.4.tar.gz.sha1.asc。当然,这会产生一个错误,即没有找到公钥。您可以从pgpkeys.mit.edu下载公钥。

This article一步一步地解释了这个过程。

答案 1 :(得分:7)

有时,您read这样的话:“使用以下命令[...]”使用PGP或MD5签名验证下载文件的完整性至关重要。

gpg --import KEYS
gpg --verify <software-bundle>.asc

你知道你应该这样做。如果不阅读所有内容,您可能会想到:两个命令,一个用于附加签名文件,另一个用于验证下载的软件。事实并非如此。

KEYS不是指下载的asc文件,而是指需要单独下载的名为KEYS的特殊文件。请参阅“下载密钥”步骤。您可能认为该链接未指向asc文件。它指向别的东西。需要这些KEYS来检查asc文件本身的完整性。第二个命令似乎执行两个检查。它验证作为参数给出的asc文件(使用导入的密钥),但是如果您尝试在独立的asc文件上运行它,它会说:

gpg: no signed data
gpg: can't hash datafile: No data

所以我认为它也验证了软件的完整性,除了同一目录中的拖尾.asc之外,它应该是一个具有相同名称的文件。 (但我现在没有找到证明这一点的证据。)