这是我第一次想到我最好检查一下我要安装的绑定软件的密钥。所以我下载了我认为是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
我做错了什么?
谢谢!
答案 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
之外,它应该是一个具有相同名称的文件。 (但我现在没有找到证明这一点的证据。)