添加了密钥,但是dget仍显示“gpg:无法检查签名:未找到公钥”

尝试使用dget.dsc文件从这里下载Django源包。

然后dget无法validation源,因为它缺少公钥。

 $ 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 " 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  uid Raphaël Hertzog (Debian)  uid Raphaël Hertzog (Freexian SARL)  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的密钥环中。 两者都无济于事。

我在这里想念的是什么?

我遇到了和你一样的问题,在检查了dscverify的手册页后,我发现了一个解决方案:

~/.devscripts添加以下行:

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

您可以反转文件并使用/etc/devscripts.conf:

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