From 1e3eefbc8d942f94d59d745bbfe91d28d39e680d Mon Sep 17 00:00:00 2001 From: Christian Hesse Date: Fri, 12 Dec 2014 09:50:14 +0100 Subject: [PATCH] tests: replace binary GPG keyrings with ASCII-armored keys Importing PGP key public and security ring works, but we do not have all secret keys in one binary blob and all public keys in another. Instead import public and secret keys for one key pair from a text file that holds ASCII-armored export of them. Signed-off-by: Christian Hesse Signed-off-by: Junio C Hamano --- t/lib-gpg.sh | 3 +- t/lib-gpg/keyring.gpg | 88 ++++++++++++++++++++++++++++++++++++++++++++++++++ t/lib-gpg/pubring.gpg | Bin 2359 -> 0 bytes t/lib-gpg/secring.gpg | Bin 3734 -> 0 bytes 4 files changed, 89 insertions(+), 2 deletions(-) create mode 100644 t/lib-gpg/keyring.gpg delete mode 100644 t/lib-gpg/pubring.gpg delete mode 100644 t/lib-gpg/secring.gpg diff --git a/t/lib-gpg.sh b/t/lib-gpg.sh index 7e077b01c1..b611b78f54 100755 --- a/t/lib-gpg.sh +++ b/t/lib-gpg.sh @@ -21,8 +21,7 @@ else GNUPGHOME="$(pwd)/gpghome" export GNUPGHOME gpg --homedir "${GNUPGHOME}" --import \ - "$TEST_DIRECTORY"/lib-gpg/pubring.gpg \ - "$TEST_DIRECTORY"/lib-gpg/secring.gpg + "$TEST_DIRECTORY"/lib-gpg/keyring.gpg gpg --homedir "${GNUPGHOME}" --import-ownertrust \ "$TEST_DIRECTORY"/lib-gpg/ownertrust test_set_prereq GPG diff --git a/t/lib-gpg/keyring.gpg b/t/lib-gpg/keyring.gpg new file mode 100644 index 0000000000..fb1f048c22 --- /dev/null +++ b/t/lib-gpg/keyring.gpg @@ -0,0 +1,88 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: GnuPG v1 + +lQG7BEZnyykRBACzCPjIpTYNL7Y2tQqlEGTTDlvZcWNLjF5f7ZzuyOqNOidLUgFD +36qch1LZLSZkShdR3Gae+bsolyjxrlFuFP0eXRPMtqK20aLw7WZvPFpEV1ThMne+ +PRJjYrvghWw3L0VVIAIZ8GXwrVBuU99uEjHEI0ojYloOvFc2jVPgSaoBvwCg48Tj +fol2foSoJa7XUu9yAL8szg8D/RUsTzNF+I9hSRHl7MYKFMYoKEY9BDgrgAujp7YY +8qdGsiUb0Ggyzp2kRjZFt4lpcvKhGfHn5GEjmtk+fRbD5qPfMqKFW+T0NPfYlYmL +JJ4fs4qZ8Lx7x6iG6X51u+YNwsQuIGjMCC3CeNi3F7or651kkNYASbaQ1NROkCIN +NudyA/0aasvoZUoNJAc2cP5Ifs6WhXMWLfMR2p2XbfKwKNYneec60usnSComcKqh +sJVk0Gytvr3FOYVhRkXnKAbx+0W2urFP8OFVBTEKO6Ts2VygWGgneQYoHnqzwlUE +yjOjlr+lyf7u2s/KAxpKA6jnttEdRZAmzWkhuox1wwAUkr27/QAAn3TEzKR1pxxR ++R3dHuFpnnfatMIDC5O0IkMgTyBNaXR0ZXIgPGNvbW1pdHRlckBleGFtcGxlLmNv +bT6IXgQTEQIAHgUCRmfLKQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIXgAAKCRATtvUe +zd5DDXQdAKC92f+wOrTkbmPEf+u+qA/Gv6BxQwCfQ128JXCi3MpMB8tI2Kmo15tY +gnmdAj0ERmfLThAIAM65eT9T6+gg0fJn+Qxhs3FFDPjxK6AOBS3SieWWmXO6stZZ +plvb7r2+sXYp8HMHntnOX3TRPolIx1dsdkv3W3w8yUzf9Lmo2XMPsZ3/isWdEbOI +A0rO3B1xwbQO7vEoWHeB7uyYIF6YsIH0pMqxkImciwB1tnJPB9OxqPHlD/HyyHr2 +voj6nmEGaPQWj8/dkfyenXm6XmNZUZL/slk6tRhNwv4cW3QQLh39nbiz9rqvZMKF +XX8wkY4FdQkJjCGwqzG+7yJcyHvem29/iq//jRLZgdiN8BwV3MCTJyDp8/Wb/d9y +jZcUm1RdtwRiwfhfQ+zmpyspm7OxINfH65rf7f8ABA0IALRiMRs/eOD59jrYXmPS +ZQUbiALlbJJtuP2c9N3WZ5OgrhDiAW+SDIN+hgDynJ9b7C2dE3xNaud4zaXAAF44 +J4J0bAo2ZtZoJajw+GXwaZfh4Z7nPNHwEcbFD4/uXPCj9jPkcLOJqGmUY1aXdygo +t3Hn5U/zo8JxPQ83YbJQhkzAOZ/HGowLNqKgGkLLHn1X9qay0CxlfTQeEN5RZyl3 +b4qRzGgGALFvoheyZIUw1TbjRpbn3kqlJooEQY02VwXFXfLI/LwzglilH6sSckvs +0WHKLZ+0L6b3CgJHN2RsZ7QxwCBi1aemsvr65FeEXp/AYxaG5duUbsugG8PgoJ06 +bsEAAVQNQO3cXWpuiJ/nNLLnWuPunBKJUlurkBdf2GD+m+muF0VpwDchhqqbTO4e +FqOISQQYEQIACQUCRmfLTgIbDAAKCRATtvUezd5DDcHsAKDQcoAtDWJFupVRqleB +Cezx4Q2khACcCs+/LtE8Lb9hC+2cvr3uH5p82AI= +=aEiU +-----END PGP PRIVATE KEY BLOCK----- +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: GnuPG v1 + +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 +=hieJ +-----END PGP PRIVATE KEY BLOCK----- diff --git a/t/lib-gpg/pubring.gpg b/t/lib-gpg/pubring.gpg deleted file mode 100644 index 1a3c2d487c2fda9169751a3068fa51e853a1e519..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcwPel00001 literal 2359 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 EAIVlljQ{`u diff --git a/t/lib-gpg/secring.gpg b/t/lib-gpg/secring.gpg deleted file mode 100644 index 82dca8f80bf170fde5705862c3eeb9d994725042..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcwPel00001 literal 3734 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 Z6UcC_uD7{E=!~JmY#quZ2~&Rr_Ajd