尝试使用 GnuPG 验证文件完整性。一直都是“不好的签名”

尝试使用 GnuPG 验证文件完整性。一直都是“不好的签名”

我对 GnuPGP 完全陌生,我正在尝试测试它。

基本上,我所做的就是从 .net 下载 Linux Mint 密钥 ( ID 0FF405B2) pgp.mit.edu

gpg --keyserver pgp.mit.edu --recv-keys 0FF405B2

我已经确认它在我的钥匙串中,来自 Clement Lefebvre。

完成后,我从 Linux Mint 镜像下载 PGP 块。 (http://mirror.csclub.uwaterloo.ca/linuxmint/stable/17.3/sha256sum.txt.gpg

我基本上复制并粘贴了它并将其另存为lmgpg.sig.我也尝试过lmgpg.gpglmgpg.txt.gpg甚至只是wget这样做。

之后,我保存了其中一个哈希值:

854d0cfaa9139a898c2a22aa505b919ddde34f93b04a831b3f030ffe4e25a8e3  linuxmint-17.3-cinnamon-64bit.iso

作为lmsum.txt

因此,当所有这些都完成后,我尝试使用其中的哈希值甚至 ISO 本身来验证文件。两者兼而有之,我得到:

gpg --verify lmgpg.sig lmsum.txt 
gpg: Signature made Wed 06 Jan 2016 08:06:20 AM PST using DSA key ID 0FF405B2
gpg: BAD signature from "Clement Lefebvre (Linux Mint Package Repository v1) <[email protected]>"

当我使用 Debian 稳定镜像中的文件重复上述操作时,也会发生这种情况。

请问,我到底做错了什么?

答案1

各种校验和和签名文件允许您验证下载的文件,不是您自己重新创建的文件。所以你下载 ISO 镜像和验证文件

wget http://mirror.csclub.uwaterloo.ca/linuxmint/stable/17.3/linuxmint-17.3-cinnamon-64bit.iso
wget http://mirror.csclub.uwaterloo.ca/linuxmint/stable/17.3/sha256sum.txt{.gpg,}

并将 GPG 密钥拉入您的钥匙串,然后验证文件:

sha256sum -c sha256sum.txt

它会抱怨丢失文件,但会验证您下载的 ISO,并且

gpg --verify sha256sum.txt.gpg sha256sum.txt

这应该告诉你签名是好的。签名是仅有的对于已签名的确切文件有效;您无法使用它来创建它的一部分sha256sum并让它验证它。

此练习的重点是根据 验证 ISO 是否正确sha256sum,并根据 GnuPG 签名验证 SHA-256 校验和本身是否正确;至关重要的是,最后一部分依赖于 Clement Lefebvre 的 Linux Mint 密钥,您可以从不同的来源单独下载该密钥。

相关内容