From 2b13777c700f57c5280934f8eb6ed4bfa5cbe580 Mon Sep 17 00:00:00 2001 From: Damien Regad Date: Sat, 25 Apr 2020 19:30:02 +0200 Subject: [PATCH] KEYS.md: add former developers' PGP keys Added the public keys used by former developers jreese and dhx to sign release tags, as well as an old key of vboctor. Issue #22269 For future reference, here are the steps and commands used to automate the process of identifying the missing keys and adding them, as I really didn't want to manually check all 182 tags in he repository. 1. Find all annotated tags ``` git for-each-ref --format="%(objecttype) %(refname:short)" refs/tags | grep ^tag |cut -d" " -f2| sort -V >/tmp/annotated-tags ``` 2. Get all signed tags (removing annotated tags without signature), with GPG verification data on a single line ``` cat /tmp/annotated-tags | xargs -n1 -I TAG bash -c 'echo "TAG $(git verify-tag TAG |& paste -s)"' | grep -v "error: no signature found" >/tmp/signed-tags-data ``` 3. Identify the missing keys from the tags for which the signature could not be checked (i.e. excluding those for which we already have a public key). The command prints the number of identified keys. ``` cat /tmp/signed-tags-data | sed -rn "/gpg: Can't check signature/s/^.*using \w+ key (\w+).*$/\1/p" | sort -u |tee /tmp/missing-keys |wc -l ``` 4. Retrieve the missing keys from keyserver. The command should import the same number of keys as identified at step 3. ``` cat /tmp/missing-keys |cut -d" " -f1 |xargs gpg --receive-keys ``` 5. Review, sign and trust the newly added keys. ``` cat /tmp/missing-keys |cut -d" " -f1 |xargs -n1 gpg --sign-key ``` 6. Verify that we have successfully added all the necessary keys: the following command should return an empty list. ``` cat /tmp/signed-tags-data |cut -d" " -f1 | xargs -n1 -I TAG bash -c 'echo "TAG $(git verify-tag TAG |& paste -s)"' | grep -v "Good signature" ``` --- KEYS.md | 273 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 273 insertions(+) diff --git a/KEYS.md b/KEYS.md index 345219d272..a65c64e819 100644 --- a/KEYS.md +++ b/KEYS.md @@ -156,6 +156,50 @@ KiRlaLD81RecU9AzvULy+vcsPsSzA3pc8bAebAYhvvXIdBBTBi2F/jIm -----END PGP PUBLIC KEY BLOCK----- ``` +``` +pub rsa2048 2014-12-08 [SC] + 4EA1 D867 7022 073E A38D 3914 0223 93FF F8CD 7E90 +uid [ full ] Victor Boctor +sub rsa2048 2014-12-08 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +8Dj6H0+p +=2jbn +-----END PGP PUBLIC KEY BLOCK----- +``` + ### dregad ``` pub rsa2048 2010-11-20 [SC] @@ -421,3 +465,232 @@ THmHhcJsZi5JnurOs68dN/lktqgKWslHTg5W0DF+xHQ= =iLrs -----END PGP PUBLIC KEY BLOCK----- ``` + +### jreese +``` +pub dsa1024 2008-02-23 [SC] + 1D5C CEEA 92DF 2E3F 7267 BA40 D53E A311 DE61 84DC +uid [ full ] John Reese +uid [ full ] John Reese (LeetCode.net) +sub elg2048 2008-02-23 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +j7Jq +=oym2 +-----END PGP PUBLIC KEY BLOCK----- +``` + +``` +pub rsa4096 2011-04-05 [SC] + 9A24 B14A 6239 AA5A 4507 08B6 71FC FA26 C45D 960E +uid [ full ] John Reese +sub rsa4096 2011-04-05 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +1QTF/3ROmMEh0OgRlzKa32o= +=jTOG +-----END PGP PUBLIC KEY BLOCK----- +``` + +### dhx +``` +pub rsa4096 2011-03-12 [SC] + 2442 14B5 2E51 CB0F CA3B 9DB8 59E0 E7B7 728F 3435 +uid [ full ] David Hicks +uid [ full ] David Hicks +uid [ full ] David Hicks +sub rsa4096 2011-03-12 [E] + +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +IYeGqkB/xuHgYKFWxfaIffA= +=aw2m +-----END PGP PUBLIC KEY BLOCK----- +```