Fedora项目使用的GPG密匙

Fedpra项目如何使用GPG密匙为软件包签名

每个 Fedora 项目发布的稳定 RPM 软件包都配有一个 GPG 签名。默认情况下,yum 和图形更新工具验证这些签名并拒绝安装任何没有签名或者签名损坏的软件包。您总是应该在安装软件包之前验证其签名。这些签名可确保您要安装的软件包出自 Fedora 项目,且没有被提供该软件包的网页或者镜像更换(无意的或者恶意的)。

可从 koji 构建系统下载的软件包不包含签名,因此您应该小心使用它们。同样,Rawhide 中的不稳定软件包也不需要签名。

导入密匙

该密钥位于 fedora-release 软件包中,您可在 /etc/pki/rpm-gpg 目录中找到它们。请注意:并不是这个目录中的所有密钥都用于 Fedora 项目 - 有些用来签注红帽企业版 Linux 软件包,有些根本就不会使用。如果您使用红帽企业版 Linux 软件包,请查看 https://www.redhat.com/security/team/key。在 yum 程序库配置中启用了 Fedora 使用的密钥,因此您通常不需要手动将其导入到 rpm 数据库中。

除fedora发行包和本页面外,您也可以从公匙服务器上下载Fedora密匙,例如keys.gnupg.net

在有些程序库中,比如带默认配置中的稳定和测试的软件包的程序库,如果没有将该密钥导入到 rpm 数据库,yum 可找到该程序库的正确密钥并在导入密钥前询问用户以便确认。

您总是可以手动使用以下命令将密钥导入 RPM 数据库:

rpm --import PUBKEY ...

详情请参考 rpm 手册。

如果您想要验证您在系统中安装的密钥与在这里列出的密钥匹配,您可以使用 GnuPG 检查密钥指纹匹配。例如:

$ gpg --quiet --with-fingerprint /etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-11-primary
...
pub  4096R/D22E77F2 2009-01-19 Fedora (11) <fedora@fedoraproject.org>
      Key fingerprint = AEE4 0C04 E345 60A7 1F04  3D7C 1DC5 C758 D22E 77F2

验证软件包

当使用稳定发行本中的默认 yum 软件包配置更新和安装工具时,安装每个软件包之前要验证其签名。可使用 gpgcheck 指令在全局范围或者特定程序库中关闭签名验证。不要覆盖这个指令的默认设置除非您有一个非常好的理由。

如果您不用yum,您可以使用以下命令查看软件包的签名。

rpm {-K|--checksig} PACKAGE_FILE ...


当前使用的密匙

RPM-GPG-KEY-fedora-12-primary

pub   4096R/57BBCCBA 2009-07-29
      Key fingerprint = 6BF1 78D2 8A78 9C74 AC0D  C63B 9D1C C348 57BB CCBA
uid                  Fedora (12) <fedora@fedoraproject.org>

RPM-GPG-KEY-fedora-11-primary

pub   4096R/D22E77F2 2009-01-19
      Key fingerprint = AEE4 0C04 E345 60A7 1F04  3D7C 1DC5 C758 D22E 77F2
uid                  Fedora (11) <fedora@fedoraproject.org>

RPM-GPG-KEY-fedora-10-primary

pub   1024D/4EBFC273 2008-08-27
      Key fingerprint = 61A8 ABE0 91FF 9FBB F4B0  7709 BF22 6FCC 4EBF C273
uid                  Fedora (10) <fedora@fedoraproject.org>
sub   4096g/C1527A5F 2008-08-27

RPM-GPG-KEY-fedora-test-10-primary

pub   1024D/0B86274E 2008-08-27
      Key fingerprint = C561 3076 7487 7FDF A36D  CA38 92A1 023D 0B86 274E
uid                  Fedora (10 testing) <fedora@fedoraproject.org>
sub   4096g/7645A8D9 2008-08-27

RPM-GPG-KEY-EPEL

pub   1024D/217521F6 2007-03-02 [expires: 2017-02-27]
      Key fingerprint = B940 BE07 7D71 0A28 7D7F  2DD1 119C C036 2175 21F6
uid                  Fedora EPEL <epel@fedoraproject.org>
sub   2048g/B6610DAF 2007-03-02 [expires: 2017-02-27]


废弃的密匙

RPM-GPG-KEY-fedora

pub   1024D/4F2A6FD2 2003-10-27
      Key fingerprint = CAB4 4B99 6F27 744E 8612  7CDF B442 69D0 4F2A 6FD2
uid                  Fedora Project <fedora@redhat.com>
sub   1024g/FB939E34 2003-10-27

安装介质中的软件包使用这个密匙。相关yum仓库为针对Fedora 7-9的fedora,strong>fedora-updates,针对Fedroa Core(6及更早版本)的corecore-updates。见http://www.redhat.com/archives/fedora-announce-list/2008-August/msg00012.html来了解这个密匙废弃的原因。

RPM-GPG-KEY-fedora-test

pub   1024D/30C9ECF8 2003-10-27
      Key fingerprint = 3166 C14A AE72 30D9 3B7A  B2F6 DA84 CBD4 30C9 ECF8
uid                  Fedora Project (Test Software) <rawhide@redhat.com>

如果您参与软件包的测试,您将使用该密匙来验证测试软件包。该密匙签署的软件包位于fedora-testing仓库中。查看http://www.redhat.com/archives/fedora-announce-list/2008-August/msg00012.html以了解此密匙废弃的原因。

RPM-GPG-KEY-fedora-8-and-9-primary

pub   1024D/6DF2196F 2008-08-27
      Key fingerprint = 4FFF 1F04 010D EDCA E203  591D 62AE C3DC 6DF2 196F
uid                  Fedora (8 and 9) <fedora@fedoraproject.org>
sub   4096g/9E198F60 2008-08-27

RPM-GPG-KEY-fedora-test-8-and-9-primary

pub   1024D/DF9B0AE9 2008-08-27
      Key fingerprint = C0E7 128E 9072 96CA AE31  78A2 8E69 3B4D DF9B 0AE9
uid                  Fedora (8 and 9 testing) <fedora@fedoraproject.org>
sub   4096g/80E34F98 2008-08-27

RPM-GPG-KEY-fedora-extras

pub   1024D/1AC70CE6 2004-12-14
      Key fingerprint = 5389 DD00 C5BC 5168 12B4  3272 82ED 9504 1AC7 0CE6
uid                  Fedora Project <fedora-extras@fedoraproject.org>
uid                  Fedora Pre Extras Release <pre-extras@fedoraproject.org>
uid                  Fedora Project <fedora-extras@redhat.com>
sub   1024g/4E1A9D43 2004-12-14

如果您使用Fedora Core 6的Fedora Extras,则从extras仓库中使用该软件包。此密匙在Fedora Core 6及Extras到EOL(December 7th 2007)后不再使用。此密匙未放到Fedora 7及以后版本的fedora-release内。

RPM-GPG-KEY-legacy

pub   1024D/731002FA 2004-01-19
      Key fingerprint = D66D 121F 9784 5E7B 2757  8C46 108C 4512 7310 02FA
uid                  Fedora Legacy (http://www.fedoralegacy.org) <secnotice@fedoralegacy.org>
sub   2048g/D12E351D 2004-01-19

这个密钥用于 Fedora 继承项目发布的软件包来更新将要达到法定生命周期的发行本。Fedora 继承项目不再存在,因此不会再使用这个密钥为软件包签名。在 Fedora 7 以及其后的发行本的 fedora-release 软件包中不包含这个密钥。