我对 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.gpg
,lmgpg.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 密钥,您可以从不同的来源单独下载该密钥。