Added key, but dget still shows "gpg: Can't check signature: public key not found"

Trying to download Django source package using dget and the .dsc file from here.

Then dget fails to verify the source, because it is missing a public key.

$ 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!!

Fine, I added this key to my keyring, because I think I can trust this one:

$ gpg --keyserver keyserver.ubuntu.com --recv-key 0xF2AC729A
gpg: requesting key F2AC729A from hkp server keyserver.ubuntu.com
gpg: key F2AC729A: "Raphaël Hertzog <[email protected]>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1

(well, this output is run afterwards, when it was already in my keyring)

And it is really there:

$ 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 <[email protected]>
uid                  Raphaël Hertzog (Debian) <[email protected]>
uid                  Raphaël Hertzog (Freexian SARL) <[email protected]>
sub   2048R/71F23DEE 2009-05-07

But still fails for the same reason:

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

I'm running all these commands as my regular user. I also tried adding this key to APT's keyring and root's keyring. Both to no avail.

What am I missing here?


I got the same problem as you and after checking the man page of dscverify I found a solution:

Add following line to your ~/.devscripts:

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

You can reverse files and use /etc/devscripts.conf:

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