RE: How to Verify Git GPG Signed Downloads?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: Brooke Kuhlmann
> Sent: Sunday, January 24, 2021 11:49 AM
> 
> Hello, I'm trying to figure out how to obtain the public key used to 
> encrypt 

Do you mean sign?

> the Git file
> downloads. I put together a gist that explains the problem and question in detail here:
> 
> https://gist.github.com/bkuhlmann/684b74d25d83d52df8d0caeb6219aa15

Please don’t post links to questions, pasting your content inline here:

> Problem
> When attempting to download a Git version, it would be nice to verify the signature of the download by running the following:
>
> curl --remote-name https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.30.0.tar.gz
> curl --remote-name https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.30.0.tar.sign
> gpg --verify git-2.30.0.tar.sign git-2.30.0.tar.gz
> Only problem is that the last line of the above throws the following error:
>
> gpg: Signature made Sun Dec 27 23:12:30 2020 MST
> gpg:                using RSA key E1F036B1FEE7221FC778ECEFB0B5E88696AFE6CB
> gpg: Can't check signature: No public key
> I tried using the following solutions to no avail:

$ gpg --recv-keys 96AFE6CB
gpg: requesting key 96AFE6CB from hkp server keys.gnupg.net
gpg: key 713660A7: "Junio C Hamano <gitster@xxxxxxxxx>" 59 new signatures
gpg: key 713660A7: "Junio C Hamano <gitster@xxxxxxxxx>" 2 new subkeys
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:            new subkeys: 2
gpg:         new signatures: 59

$ gpg --verify -v git-2.30.0.tar.sign git-2.30.0.tar.gz
gpg: Signature made Mon Dec 28 01:12:30 2020 EST using RSA key ID 96AFE6CB
gpg: NOTE: signature key 96AFE6CB expired Sun Jul 26 13:41:24 2020 EDT
gpg: NOTE: signature key B3F7CAC9 expired Sun Jul 26 13:41:42 2020 EDT
gpg: using subkey 96AFE6CB instead of primary key 713660A7
gpg: NOTE: signature key 96AFE6CB expired Sun Jul 26 13:41:24 2020 EDT
gpg: NOTE: signature key 96AFE6CB expired Sun Jul 26 13:41:24 2020 EDT
gpg: NOTE: signature key B3F7CAC9 expired Sun Jul 26 13:41:42 2020 EDT
gpg: using PGP trust model
gpg: BAD signature from "Junio C Hamano <gitster@xxxxxxxxx>"
gpg: binary signature, digest algorithm SHA256

$ gpg --list-keys -v 96AFE6CB
gpg: using PGP trust model
gpg: NOTE: signature key 96AFE6CB expired Sun Jul 26 13:41:24 2020 EDT
gpg: NOTE: signature key B3F7CAC9 expired Sun Jul 26 13:41:42 2020 EDT
pub   4096R/713660A7 2011-10-01
uid                  Junio C Hamano <gitster@xxxxxxxxx>
uid                  Junio C Hamano <junio@xxxxxxxxx>
uid                  Junio C Hamano <jch@xxxxxxxxxx>
sub   4096R/96AFE6CB 2011-10-03 [expired: 2020-07-26]
sub   4096R/833262C4 2011-10-01
sub   4096R/B3F7CAC9 2014-09-20 [expired: 2020-07-26]

It is possible that Junio forgot to push his refreshed public key.

>
> gpg --locate-keys torvalds@xxxxxxxxxx gregkh@xxxxxxxxxx committer@xxxxxxxxxxx discord@xxxxxxxxxxx gitster@xxxxxxxxx
> gpg --import <file> # <= Need a file to import but where does one obtain the public key?
> I also tried importing only the public keys from the Git repository via the following files without any luck either:
>
> t/lib-gpg/keyring.gpg
> contrib/credential/netrc/test.git-config-gpg
> contrib/credential/netrc/test.netrc.gpg
> contrib/credential/netrc/test.command-option-gpg
> Question
> How does one figure out how to obtain the public keys for which the Git downloads were signed?
> 
> If anyone has any advice on how to make this possible, it would be greatly appreciated.
> 
> Thanks,
> Brooke
> 






[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux