添加了密钥,但dget仍显示"gpg: Can't check signature: public key not found"。

尝试使用`dget`和`.dsc`文件从这里下载Django源代码包。
然后,`dget`无法验证源代码,因为缺少公钥。
$ dget https://launchpad.net/ubuntu...
[...]
dscverify: python-django_1.4.1-2.dsc failed signature check:
gpg: Signature made Tue 21 Aug 2012 09:12:04 CEST using RSA key ID F2AC729A
gpg: Can't check signature: public key not found
Validation FAILED!!

好的,我把这把钥匙加到了我的钥匙链上,因为我觉得这把钥匙是可靠的。
$ gpg --keyserver keyserver.ubuntu.com --recv-key 0xF2AC729A
gpg: requesting key F2AC729A from hkp server keyserver.ubuntu.com
gpg: key F2AC729A: "Raphaël Hertzog <raphael@ouaza.com>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

(嗯,这个输出是在我已经放在我的钥匙扣上之后运行的)
而且它确实存在:
$ gpg --fingerprint F2AC729A
pub   4096R/F2AC729A 2009-05-07
      Key fingerprint = 3E4F B711 7877 F589 DBCF  06D6 E619 045D F2AC 729A
uid                  Raphaël Hertzog <raphael@ouaza.com>
uid                  Raphaël Hertzog (Debian) <hertzog@debian.org>
uid                  Raphaël Hertzog (Freexian SARL) <raphael@freexian.com>
sub   2048R/71F23DEE 2009-05-07

但是仍然因为同样的原因而失败:
gpg: Signature made Tue 21 Aug 2012 09:12:04 CEST using RSA key ID F2AC729A
gpg: Can't check signature: public key not found

我正在以我的常规用户身份运行所有这些命令。我还尝试将此密钥添加到APT的密钥环和root的密钥环中,但都没有成功。
我在这里漏掉了什么?
2个回答

我和你遇到了同样的问题,并在查看 dscverify 的 man 页面后找到了解决方案:

将以下行添加到你的 ~/.devscripts 中:

DSCVERIFY_KEYRINGS="/etc/apt/trusted.gpg:~/.gnupg/pubring.gpg"

您可以反转文件并使用/etc/devscripts.conf。
DSCVERIFY_KEYRINGS="~/.gnupg/pubring.gpg:/etc/apt/trusted.gpg"