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 HcmV?d00001 literal 2359 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 J`>ucrFaWC}?a}}M -- 2.52.0