« 被Bloglines鄙视 | 主 页 | Google Answers的结束 »

Debian Etch签名公钥


11/29/06。  cathayan.org版权所有,保留一切权利。转载请保留此说明。谢绝商业转载。

前几天就发现在aptitude update时会出现这样的显示:

Reading package lists... Done
W: There are no public key available for the following key IDs:
A70DAF536070D3A1

也就是安全apt的这个公钥找不到了,虽然当时就解决了问题,但真到今天看了DWN才知道原来是为即将发布的Debian Etch准备的新公钥。

这个公钥是要解决Debian的软件库的安全问题。Debian软件的发布依赖于分布全球的众多服务器,上面有打好deb包的软件,怎么知道下载的软件包是不是真的呢?是不是经由Debian developper们发出来的呢?就要用到gpg签名,他们用私钥签名,用户下载后用公钥--公开发布出来的这把--验证,如果对上了,就说明这个包是真的,没有改动过。这些操作是由apt自动进行。最新的即将发布的Etch是第一个采用这种安全手段的发行版,当然Unstable的sid早就用上了。

这个公钥存在这个地址,叫做ziyi,就是跟章子仪的名字起的(这品味)--不知道现在这里这个key是老的还是这个新的etch key。不过没必要去下这种key,GPG也是个网络,有专门的服务器存放它,只需要知道key id,就可以从网络上获取。所以解决上述问题的步骤是这样的:

这是由于 FTP master 生成了新的密钥,用于签署 etch 的 release,但是这把新
密钥还没有被 debian-archive-keyring 这个 package 收录的缘故。

根据 http://lists.debian.org/debian-devel/2006/11/msg00731.html 这个主题里的讨论,正确的手动添加 APT 密钥的步骤是:

1. 下载新的密钥 (需要网络连接):
gpg --keyserver pgpkeys.mit.edu --recv-keys A70DAF536070D3A1(Keyserver参数也可以不加)

2. 确认新密钥是由 FTP master 签名过的,可以信任 (应该是需要已经安装了
debian-keyring 这个 package):
gpg --check-sigs A70DAF536070D3A1

3. 给 APT 添加这把新密钥:
gpg --export -a A70DAF536070D3A1 | apt-key add -

很多地方给的建议都缺了第二步,其实不妥。(这一步可以验证这个key的真实性,其实是通过其他一些人的Key来验证,这些人要么是名人,要么是你认识的人)

另外这也就是个警告而已,我没有添加新密钥也没有什么问题。另外再等几天
debian-archive-keyring 也就应该更新,自动添加这把新密钥了。
--以上是ming hua的作品

本来这些key应该是每年1月更换,不知道这个新key怎么算,以及明年1月会不会再发个新的给新包用,而这个只用于etch。

这些key可以用apt-key list列出来看,apt-key就是专门处理这种事的,这些key存在/etc/apt/trusted.gpg里面。如果在source.list里面加了新的软件库,不同于Debian官方各镜像的,就要加上那个库的key来认证。

11/29/06 10:32:31,由cathayan发表。目录:电脑

This item is closed, it's not possible to add new comments to it or to vote on it
I am watching and will delete all spam.