16.3. 检查软件包的签名

如果你想校验某软件包是否被损坏或篡改过,只需检查 md5sum。在 shell 提示下键入下面的命令(把 coolapp 换成 RPM 软件包的文件名):

rpm -K --nogpg <rpm-file>

你会看到消息“<rpm-file>: md5 OK”。这条消息意味着文件在下载中没有被损坏。要看到更详细的消息,把命令中的 -K 换成 -Kvv

另一方面,创建软件包的开发者是不是值得信任?如果该软件包使用开发者的 GnuPG 钥匙(key)签名(signed),你就会知道这位开发者的身份确实如他所言。

RPM 软件包可以使用 Gnu 隐私卫士(或称 GnuPG)来签名,从而帮助你肯定下载软件包的可信任性。

GnuPG 是安全通讯工具;它是 PGP(一种电子隐私程序)加密技术的完全和免费的替换品。使用 GnuPG,你可以验证文档的有效性,在其它通讯者之间加密或解密数据。GnuPG 还具有解密和校验 PGP 5.x 文件的能力。

在安装过程中,GnuPG 被默认安装。这样,你便可以立即开始使用 GnuPG 来校验来自红帽的软件包。首先,你需要导入红帽的公钥。

16.3.1. 导入钥匙

要校验红帽软件包,你必须导入红帽 GPG 公钥。要导入公钥,在 shell 提示下执行以下命令:

rpm --import /usr/share/rhn/RPM-GPG-KEY

要显示用来校验 RPM 而安装的钥匙列表,执行以下命令:

rpm -qa gpg-pubkey*

红帽公钥的输出包括:

gpg-pubkey-db42a60e-37ea5438

要显示关于某一指定钥匙的细节,使用rpm -qi,其后跟随前一命令的输出:

rpm -qi gpg-pubkey-db42a60e-37ea5438

16.3.2. 校验软件包的签名

导入了建构者的 GnuPG 公钥后,要检查 RPM 文件的 GnuPG 签名,使用以下命令(把 <rpm-file> 换成 RPM 软件包的名称):

rpm -K <rpm-file>

如果一切顺利,你会看到这条消息:md5 gpg OK。这意味着软件包的签名已被校验,该软件包没有损坏。