diff --git a/.sig/manifest.8E47A1EC35A1551D.asc b/.sig/manifest.8E47A1EC35A1551D.asc index 936ad5b..0b1958e 100644 --- a/.sig/manifest.8E47A1EC35A1551D.asc +++ b/.sig/manifest.8E47A1EC35A1551D.asc @@ -1,16 +1,16 @@ -----BEGIN PGP SIGNATURE----- -iQIzBAABCgAdFiEEZ1U/vaRrtxq9LgsLjkeh7DWhVR0FAl+3i50ACgkQjkeh7DWh -VR2oPQ//a8DBHeB/2QmVjqVHb7M7a8ukzNtMO9o4QAJ4DG7HHIjAx6NjPYRGD17G -w+7HUxW9RbAdMja8RwMo6EIgHgFusl4lck9X6sRhW+fIP4GOBLjU56+95u+kUisz -gDGM/aAy5xiSDqUXvGyPSgmiVDSyIzY//NhIE2+ekSoNaD12Wd0HZAdTWx5nyQLO -SARVAKx7gDBzbTP8OuGmlnvUJa+BsB4g00/uTjxLyQ1zAI6GQ5qtRZCT9xJNdrCR -/lcMyWx6e6VCGaA4o2/N/7LAGRhEIfOeeEZTRbpTYmcNq+zxQ+PYUMFiML9BN/tN -QoV7SQ+p/zegUZSQkwq3yiQ+d1fhVfcM3pxsqszEFZ2CiU492Nt8i3m2sGVfnVCp -k7F7YVU6Fqwmwr4QwxRltnSgGrKcU5/txY135jfkh3cicJxcrOuByw/7QUhJYxsr -jlLtFF0IsqHcIx8udXdX4lOaWXeSwyVjtfo6rJ1RsGY2LdBtQRyeS/ZaV/XoOUok -8hMgIg6/HcPSPTPo/oZNj1LYIbf4QK1O5OMcSFwGwBrHryKKOh/YuQVW3KZY60cG -xiILBF6PM2enKwisd3uaAmj/mKesd4T6Nj3vBlAwyKbhFYBl0SHpR5jsy3bsSAuy -HP7MQ3nRV3XmMfVMk8o7IlOYAJsk3PbKzU6hf5UB6JqCWzlPzWw= -=Vn53 +iQIzBAABCgAdFiEEZ1U/vaRrtxq9LgsLjkeh7DWhVR0FAl+3mzsACgkQjkeh7DWh +VR3wDhAAoCUwef/hA9HkLLUmEhft6UzbGfDU8PlTPc+CI17WeDQnytDMrAy2jMgf +O53c51qVeFNs+17eoEGaTW4cCinzjR21+cXQArfoBPCE4PQLmU0RA5BMOYgNslvZ +XcQlR2BB3fVt1CInfDNAjSuGXOFXrqPdRitpZcZGpMsAgpUBl7jTHWb0OnVgg4fP +KjtmxQV0P2irNNS8tTVrRHsSDEX+JzhVCRtY5gnKLllRAhQCLx5pgBq+Ll9vCWHE +Ddbt0U9HR/HjQBjLYrJTiO41e34bTB2KIy6gnK+buKJxeICed3+/w1o2x2pNCXye +kq/rvEPBAbUOCBIn8uP9CA0MNzqssz498/I36NF8d2k6qnHWGSi7+MBMEbHYN2WR +CQgANhmEmEXGuABEdeHoA6fyoB3bILNk6MuKnv1sOxtnzfbl8VUtMjnZBey1JdR4 +kkWZCmMeUql513odcYsrv7kX2kdf4RTWzlbpdc6W1E3scNs2OFPbPItHE9tLZRXH +At+t5MUYtyyX38BuSYSBpPlBfH6f5gEk//o6dDh7xz0ytJ3x0hOE/nlBAehl0hDS +onxRtnKtgImBBCGe2R536trccl8/lc7v6ih7LCikkfT9eX+fy2IrIzaSnRT/H5O6 +PrFuXeRXZyhwfG9+K8BGfpYrH1e4Oqq23wL4rUyXIGlSkIuE04A= +=I3xZ -----END PGP SIGNATURE----- diff --git a/.sig/manifest.txt b/.sig/manifest.txt index f799463..c002344 100644 --- a/.sig/manifest.txt +++ b/.sig/manifest.txt @@ -1,8 +1,18 @@ 64263feac7b00952e9ec3b6c1fd11316faa58ff673c6bd085fac9f6f8d8389f6 .gitignore 67377eee89dfc4411665474ac0bee0f9a19ea7e594bcc8606b0bc3ace69f0aa1 .gitlab-ci.yml -41d2be0d611c203c28303f083bfa142fcc1aa9222b80903a8a4b7279f7a27eca Makefile +c38c2540b680a721a741b4613f9a8d443c8ed8952994f10f73fd8183c3288df7 Makefile 464ed12795e3e41eee83713709069fefb07f0676ba237894a9325aafe5c91e31 README.md bb1a24c30f2a26889195deac4ad98fcf9fd485baa4aa1dd04c12abef8212f6ad sig -655df07f3827e7055d0c6aa21a0a4907957a34a2b8a1e9131225c537e448e2e3 test/Dockerfile -55250be3c8f25dcbe68a73e8de8c8a94d8ceb0354c7f955519373d9c963903dd test/test.bats -c95e072f0917531257c069516fc1bf08fd98e5c5f3958f5353a219cb5b70fd38 test/test_helper.bash +646a6c11ef22d51bd7fadff5ecc806d8d3e7c62151a0dd56bbeb59eca74c671c test/Dockerfile +dd79ef0e6d0738321f916a5c85a60d44152fb1ffcd71572de98cf48e0d0d911c test/keys/user1.pub.asc +c98a656738f188f650fa0107e3478d640c175a3db481a6c3cbc267f75a05b440 test/keys/user1.sec.asc +aad434de4a8d22d3152769f41f4da39229fec686938d46bf4c31cd9f5f267092 test/keys/user2.pub.asc +4d9433f86858c5b3d188d9b28a550a01149032f4411e4ff41cccf2cf5424fae9 test/keys/user2.sec.asc +bd655f201043873280a387f4694d94ec299e4d6b5b2bf0ad7080153ddbd67ce8 test/keys/user3.pub.asc +c0e3df63b1f01a83e17c463af9e37365a5e38ee0289d59cdfee725df202a311b test/keys/user3.sec.asc +4740db645194e0bae7a0dae88afb4a8e7f67cba35b0b31ba8036529aa3592e2a test/keys/user4.pub.asc +d4cbeffdbf7064aaffe94556b5879c88cddf479e3e76518f25c3491482abd789 test/keys/user4.sec.asc +c608e63175a1e9cc3fe2500372769a9e30b808d2e4d4a950796d98dac14775ea test/keys/user5.pub.asc +873f3a1e2da41587f4b5a0dad5d8b704a37144e54931fe3a167ea9648772a5dc test/keys/user5.sec.asc +0e3bc44d39fb4b8eb0947e802b5a3a4db14ae228c116eb6b33b32c4cd6816c6f test/test.bats +418903b58dad935ee3aa1dfcc4c4ac22fd77a838b87a5c2c3fe4e510a164f0a0 test/test_helper.bash diff --git a/Makefile b/Makefile index 523447e..b0f0952 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,6 @@ +.PHONY: all +all: lint test verify + .PHONY: test test: test-image docker run \ diff --git a/test/Dockerfile b/test/Dockerfile index f93afa4..66fef82 100644 --- a/test/Dockerfile +++ b/test/Dockerfile @@ -1,7 +1,7 @@ FROM debian:buster RUN apt-get update && \ - apt-get install -y --force-yes sudo bats git gnupg openssl shellcheck + apt-get install -y --force-yes sudo bats git gnupg openssl shellcheck psmisc RUN useradd -m test -G sudo -s /bin/bash RUN echo '%sudo ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers diff --git a/test/keys/user1.pub.asc b/test/keys/user1.pub.asc new file mode 100755 index 0000000..9f169f5 --- /dev/null +++ b/test/keys/user1.pub.asc @@ -0,0 +1,19 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI0EX7eUygEEAMbtUkZ54kMIvKzK/lqtaCXBF1NkKnDJ4rMFeu8KBFjCXBGexv3U +MvuG6n6roXxehCLJvXDq1tzKO5bF9LHSXGJjKBnRhDIUlh9iLAzluTtN8Q6bRO3D +1QGhmPjzleQc+lTFR2ngYRtYjCzdg1IjvLIE50+4MPmoLjydwCTXgV+tABEBAAG0 +HFVzZXIgT25lIDx1c2VyMUBleGFtcGxlLmNvbT6IzgQTAQoAOBYhBK4IFXIyw18E +MJ+keMXrxKfPVaLQBQJft5TKAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJ +EMXrxKfPVaLQpEgD/0zHuXy6+f6qobNX6n2i2DSoVioHq+WtShQ3yWk/FpJvu7mJ +TxrK/1I8ZMOapoAbnd2zUDer/KH9UeXUXLecPab+JCFrRosWOTdLW7cWNeCodUrk +s54iXYiiicBMYuyvUmvQSXCjxVJwF4RSGBT+hOGhr2aiK5PYz9QioknT45rYuI0E +X7eUygEEAKqz9Il8Nz2IK2/Qb2X388k0jfdCQ2vA/k/0IH9blveUBHNvhWrT1HRY +6w3LhPAEnprTxKBSvcamwkJ5SscjgNDRuRknOoKQkzwxCjC+2fUGLnOqlKL6Q+uR +UvAukfBmCiOUsJR6g8XwB+gna8UkZ2iht49dZlohzHWFks4cfhYRABEBAAGItgQY +AQoAIBYhBK4IFXIyw18EMJ+keMXrxKfPVaLQBQJft5TKAhsMAAoJEMXrxKfPVaLQ +bmEEALtx0mf4Jo1qQyEkJMFizi4Cfoph+12B8nk9MkSfz9jma4Z39eGXRt+3OCJX +CR0maGzC6TGDc62jJjzfBZQKiFo10C4eGh5MoCFyQXHy5r8/LOtqNYbpRQdWfyNv +nhMvOZWUCcsbsq0X9CJqFA3naEjZAad04AJrhOn2FUhSY3Lu +=+6qs +-----END PGP PUBLIC KEY BLOCK----- diff --git a/test/keys/user1.sec.asc b/test/keys/user1.sec.asc new file mode 100755 index 0000000..9031b5c --- /dev/null +++ b/test/keys/user1.sec.asc @@ -0,0 +1,33 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +lQHYBF+3lMoBBADG7VJGeeJDCLysyv5arWglwRdTZCpwyeKzBXrvCgRYwlwRnsb9 +1DL7hup+q6F8XoQiyb1w6tbcyjuWxfSx0lxiYygZ0YQyFJYfYiwM5bk7TfEOm0Tt +w9UBoZj485XkHPpUxUdp4GEbWIws3YNSI7yyBOdPuDD5qC48ncAk14FfrQARAQAB +AAP8DKJDbK7ugA/kvbupslQbjnRIOTdeG6oyv+hr8ZULCCEV7FePb00EDOX5bCCV +4bp1/WifI7YCfeTJKo75drazv74nxIRuZcWF0SXCktQ6P9a1Ln011dlULrOevgN7 +hKzOHwVrOWSRR2RP/56SeYecnXv8hn5PxRzJQ+LiRKPXxEkCANB7L/N4olQdxUuO +kZ5jsjUJlV35MM+huci9hLsbCIdKZNA7CB8+wONPDJ+KGNMZquD6FXqhftwbtF+r +iIn1YwkCAPREptCA/kQltY6k8u8RwLNbnTIkuYuviN7H01r3jMLkBwzKJv/AVPp3 +PLbyzkKHIR66mDcOM08toUgE/Jz8jIUB/jBMVMUqj6nErJvhOV6y+pemsI8ha5o3 +aaDe6UHW9GT3WQDqW02UZ7IFkYgaucbiEcs3GBidzJFeV6HHA9J/HFOlvrQcVXNl +ciBPbmUgPHVzZXIxQGV4YW1wbGUuY29tPojOBBMBCgA4FiEErggVcjLDXwQwn6R4 +xevEp89VotAFAl+3lMoCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQxevE +p89VotCkSAP/TMe5fLr5/qqhs1fqfaLYNKhWKger5a1KFDfJaT8Wkm+7uYlPGsr/ +Ujxkw5qmgBud3bNQN6v8of1R5dRct5w9pv4kIWtGixY5N0tbtxY14Kh1SuSzniJd +iKKJwExi7K9Sa9BJcKPFUnAXhFIYFP6E4aGvZqIrk9jP1CKiSdPjmtidAdgEX7eU +ygEEAKqz9Il8Nz2IK2/Qb2X388k0jfdCQ2vA/k/0IH9blveUBHNvhWrT1HRY6w3L +hPAEnprTxKBSvcamwkJ5SscjgNDRuRknOoKQkzwxCjC+2fUGLnOqlKL6Q+uRUvAu +kfBmCiOUsJR6g8XwB+gna8UkZ2iht49dZlohzHWFks4cfhYRABEBAAEAA/sGXRJI +CE2KYY/F+bIXbeqEhQ0oSyv2gcGxQxdtjAFpHhda4szJVleAlVqA34YHiRKNEMkv +FVqOA+QwxHMHULFh99uOZGwuksqLLM56UxjFHU/rrOIMZbnK3yzwBGMXyqtddJQM ++FRML0HC2wT/Xg4mwFZuPcqOZ4v2Gww5CvQLCQIAxEa3LnAQH0lurMWeIpstants +emrhMwCfOVorHMb2h4qk99paiebSKgWqV6qEXjPuvu6sssL2veOHiRZCPKN5KQIA +3qUp4Bs/t4U+tkXlG0/Zts73pfgWEw3ZJnfg68wVcGf71dNTnIWwU4ZmwKsXCdz/ +UO7IXmcrX12n7JqBTIuKqQH+K7MIV7idWAw9OX1lf8e9Tc7jgUj3M2hQF41KVS54 +8ksRY6ONa85tRDTxb37Pt1qGAkOvviRZNGW3ZUVVSPk7yJoSiLYEGAEKACAWIQSu +CBVyMsNfBDCfpHjF68Snz1Wi0AUCX7eUygIbDAAKCRDF68Snz1Wi0G5hBAC7cdJn ++CaNakMhJCTBYs4uAn6KYftdgfJ5PTJEn8/Y5muGd/Xhl0bftzgiVwkdJmhswukx +g3OtoyY83wWUCohaNdAuHhoeTKAhckFx8ua/PyzrajWG6UUHVn8jb54TLzmVlAnL +G7KtF/QiahQN52hI2QGndOACa4Tp9hVIUmNy7g== +=E0E+ +-----END PGP PRIVATE KEY BLOCK----- diff --git a/test/keys/user2.pub.asc b/test/keys/user2.pub.asc new file mode 100755 index 0000000..337e3e0 --- /dev/null +++ b/test/keys/user2.pub.asc @@ -0,0 +1,19 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI0EX7eU5gEEANtC8OHYTaricmAp/YYczK1RvmNK+IXNWt/VqpX+Ewpoo5tR86Kb +ps6+U2dFV9E//H05eFaX491TKjUA46abwu2NK70wQ35R66oZj+PSr3eDcrx7gBFM +tWZRD1XcW86KxW/sBNJCMcL22Ys2zoTdb4oonBG51JD8zjEvSa45xVylABEBAAG0 +HFVzZXIgVHdvIDx1c2VyMkBleGFtcGxlLmNvbT6IzgQTAQoAOBYhBL5NYPbP0iN6 +ivl4WDxRyt0zvQ7oBQJft5TmAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJ +EDxRyt0zvQ7o3KYD/12EptcPkLg9ADDPMiGmvIB5a6sj/WWWohXiXVv/XJ2Qa6W0 +it/xSPsaWF31hnDt1TnWfOEnarVZD/nR1h7O3rAQ+twM7+fEQxfbo6ATYIyPCF8M +EBlCQQcHNzFjliFRCUYfLz1vziOidG6RDmdUIIkDvNQ458ChsCANo/FMRxiouI0E +X7eU5gEEAL/WFaCVm+cSXbjHYG04kx8p2AtNeGC1UHtlJfR4JnqdRa7/FhBEPzJv +aSkKK83Nc4GdTYScy0f0mInlZqoDVUyFYcrzFvO8OvTxo+ntUx3N0kGS/+wYoypm +z6E3AJZHXhHRslELysE8wkYD+24EFzfMRP12HRP+90Ujx4I5yBEzABEBAAGItgQY +AQoAIBYhBL5NYPbP0iN6ivl4WDxRyt0zvQ7oBQJft5TmAhsMAAoJEDxRyt0zvQ7o +0M0D/Rhn7JIy/1zFu6DOEMVKHhzaVwRj5TEyJNPiJ0EMxOXPXF7CmOzz2BqxKM4A +K9Tq834mIUGG+kO0qvdBzv1Cl9cAAhAtbY4lYIlhVGrKhoLrMbJww+OZRG1uE/bg +cewQzEcIOPRakY08v21hFS1zIlyPtUNuK91b1C5XjTnr/kOy +=iH6c +-----END PGP PUBLIC KEY BLOCK----- diff --git a/test/keys/user2.sec.asc b/test/keys/user2.sec.asc new file mode 100755 index 0000000..3be1f02 --- /dev/null +++ b/test/keys/user2.sec.asc @@ -0,0 +1,33 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +lQHYBF+3lOYBBADbQvDh2E2q4nJgKf2GHMytUb5jSviFzVrf1aqV/hMKaKObUfOi +m6bOvlNnRVfRP/x9OXhWl+PdUyo1AOOmm8LtjSu9MEN+UeuqGY/j0q93g3K8e4AR +TLVmUQ9V3FvOisVv7ATSQjHC9tmLNs6E3W+KKJwRudSQ/M4xL0muOcVcpQARAQAB +AAP5AbKpgd42b8HUJ+l7VJwJe7gb1NICTary7rPNX975T8XSqoO+cr5o0sYHiE+x +p+Wqc1/MDkOb2J1pwMJSgPpIzqFzHlHeyItXYBw6V4Jb5WQkoQEqPiIVRC47hCAh +hIW3X80FsOQLjoIQ6TbfYTPy8Sm5/P5F3XEuodyrrB8lYMsCAOdlBdGd/0w/knha +1zvwsPEUhRjJ3OrpVO8TbUMgrApFtFwlBVJKHhLSfBCXuF1WmL8H2aqaiSSiejqM +yBY2nm8CAPKToe/fC3GpV6QBejOr/EYwPQnOhO1S3vCjtFDFxtRJf1Wdw3xqhIuK +UpmukE6W/rHjjnAmP9AP8tSwZJdTQCsB/004xjVlmjEYYXz34wYDKsmLTX6dJB1U +GSFXTrI/kM7+j4yY6ewF1JNpnCP8bxradSqd2kDuUkTautLvrhN0JZ6jOrQcVXNl +ciBUd28gPHVzZXIyQGV4YW1wbGUuY29tPojOBBMBCgA4FiEEvk1g9s/SI3qK+XhY +PFHK3TO9DugFAl+3lOYCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQPFHK +3TO9DujcpgP/XYSm1w+QuD0AMM8yIaa8gHlrqyP9ZZaiFeJdW/9cnZBrpbSK3/FI ++xpYXfWGcO3VOdZ84SdqtVkP+dHWHs7esBD63Azv58RDF9ujoBNgjI8IXwwQGUJB +Bwc3MWOWIVEJRh8vPW/OI6J0bpEOZ1QgiQO81DjnwKGwIA2j8UxHGKidAdgEX7eU +5gEEAL/WFaCVm+cSXbjHYG04kx8p2AtNeGC1UHtlJfR4JnqdRa7/FhBEPzJvaSkK +K83Nc4GdTYScy0f0mInlZqoDVUyFYcrzFvO8OvTxo+ntUx3N0kGS/+wYoypmz6E3 +AJZHXhHRslELysE8wkYD+24EFzfMRP12HRP+90Ujx4I5yBEzABEBAAEAA/wOUSQN +ESbxAGH/pw81wSanVg0HKIStTWrdXE4QW27RVzwUbhPPkMa/21u963Ubp20q67pi +a5dD3mfYYGDTztFGdiEI157AhuqBhyA7RVXh7GY3VIwb8/cD2Vq7FyzALHiuDGNg +mWjRnde3NGKPRTAeMGGiLnME22qTePz/570KMQIAxZ0wpwMLqRRKrIqiyt7zuOVy +2Scvkq2sUjzMmAaJPMzcRdLCQCDiEARhYdphqQTEMYRFTeC/XkELZoVRqo2vAwIA ++IPix6nGOmzbH1O95UwFk1hL63qCPnw0UbqHLwj90H5EK/2HP7NH+MxDX7TRGWQq +evndt5xKU09LWoKcLHcmEQIA5Q+v/KdmUEObjkooAl5COcLVq+85AAPncH7qMVcT +QAJGw7cB/NhwPGQqd+VHujz59Y3IxagKxUcNp83ffe1F1JooiLYEGAEKACAWIQS+ +TWD2z9Ijeor5eFg8UcrdM70O6AUCX7eU5gIbDAAKCRA8UcrdM70O6NDNA/0YZ+yS +Mv9cxbugzhDFSh4c2lcEY+UxMiTT4idBDMTlz1xewpjs89gasSjOACvU6vN+JiFB +hvpDtKr3Qc79QpfXAAIQLW2OJWCJYVRqyoaC6zGycMPjmURtbhP24HHsEMxHCDj0 +WpGNPL9tYRUtcyJcj7VDbivdW9QuV4056/5Dsg== +=TM3W +-----END PGP PRIVATE KEY BLOCK----- diff --git a/test/keys/user3.pub.asc b/test/keys/user3.pub.asc new file mode 100755 index 0000000..265ac02 --- /dev/null +++ b/test/keys/user3.pub.asc @@ -0,0 +1,19 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI0EX7eVAwEEAPMGB92bT6rxJ25+cHw8TKiKoHSaCZaldm+vJTRG6SrzbXUtUvLe +2i32yySmM1iC3EG0OYQ9nUBbKp/kxwf8ruTEN1M4rTjvjIIGxDGHhmdx8upddoqt +Fr0mURgjKebJG3B3HFJem7eEwbrVM7cEAikrI0IiWEt6aOXjpXqBisuvABEBAAG0 +HlVzZXIgVGhyZWUgPHVzZXIzQGV4YW1wbGUuY29tPojOBBMBCgA4FiEEPkWsnhkL +TuMrrp9hozGvtUB2HWkFAl+3lQMCGwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AA +CgkQozGvtUB2HWlxEgQA04U2DSGNb/YscC26kZgS4TMepqzicgRFSt4qUZmJrAvS +WrkCmUcMRNBq2yj/WFNEjr7esqjinFhDJmP9g05dnKTnfCy2vTeWubLSN3VnFwDC +QwTWP04+zIqK2UK3EoA7fquyagwXMpYxdgr1YIx5Ff2kJsuQGoS1fn7i6/5saGa4 +jQRft5UDAQQAx9xj1PDHss6rSCOL9BcU6nfn81nxldUq3O4C+aCo5Zy+mP8VWDIS +8sXGKI5rlUHXaLMKCxYooKUYnXbsa4aJqs2b5hmC4wDqaxRJ3R6Z8n54/EtH2wQk +M0d18QZe2uTxwWS7pjTC+dJ6qpQxkPvHj+Gd8UoE8THr96RG7trQt1sAEQEAAYi2 +BBgBCgAgFiEEPkWsnhkLTuMrrp9hozGvtUB2HWkFAl+3lQMCGwwACgkQozGvtUB2 +HWn+fQQA3X43i8jrM1HWztchbbCMoaaRDXn+yXCTSPeKzMd+71idXt3t4upD08yR +PYyBuohJPyGOq8wguQESKeIjNwNSejXli/TijYTUFhyiBngIpH69w7Cm/rqXTEnU +VECUUAmUedHHrqRrKclV/MeYLjnRJ2CeJE5Ij1M+8A4qPzzOLDs= +=h20O +-----END PGP PUBLIC KEY BLOCK----- diff --git a/test/keys/user3.sec.asc b/test/keys/user3.sec.asc new file mode 100755 index 0000000..5c150ba --- /dev/null +++ b/test/keys/user3.sec.asc @@ -0,0 +1,33 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +lQHYBF+3lQMBBADzBgfdm0+q8SdufnB8PEyoiqB0mgmWpXZvryU0Rukq8211LVLy +3tot9sskpjNYgtxBtDmEPZ1AWyqf5McH/K7kxDdTOK0474yCBsQxh4ZncfLqXXaK +rRa9JlEYIynmyRtwdxxSXpu3hMG61TO3BAIpKyNCIlhLemjl46V6gYrLrwARAQAB +AAP6Avu1eAJykWohbklODzBcTotZGeVULc29LPTM853VOepAEzqptIKI0hyf9MS3 +h6QfmQzh0d5Bwmr8FHdl/BKdgPpJ8eYyMP/5+no8Go1Cf5uxdWyi8LT4Xy5rISQt +6xTkDZdXJ6f7cD1ywxJMaUmaIl6WOVoAqMIbkG0tJCwW7b0CAPh31t1ytGC6AJrF +7XXCqVRmO1x6Z0mrzPXOYvExiHCmtCSbCfdsVnLcen8Es9g7fdxtB3yrEOSOuuz0 +X69iAEsCAPpj8MbBN6gge07Z5hTuRAVYJDvlmFvqLI6aE8OxAaXltLgYRkqEHIgc +IuIK3kEe+0RXGphO9KdATWm0BFBMK60CAMWV0VuT9sXz9WPh2yvd/c2qOxYgXryp +DtQjJxtDnQJAtnJGqShOmCaSaNnzTxiyNXL2qpMf/yBJRhbW27bHB5WfkbQeVXNl +ciBUaHJlZSA8dXNlcjNAZXhhbXBsZS5jb20+iM4EEwEKADgWIQQ+RayeGQtO4yuu +n2GjMa+1QHYdaQUCX7eVAwIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRCj +Ma+1QHYdaXESBADThTYNIY1v9ixwLbqRmBLhMx6mrOJyBEVK3ipRmYmsC9JauQKZ +RwxE0GrbKP9YU0SOvt6yqOKcWEMmY/2DTl2cpOd8LLa9N5a5stI3dWcXAMJDBNY/ +Tj7MiorZQrcSgDt+q7JqDBcyljF2CvVgjHkV/aQmy5AahLV+fuLr/mxoZp0B2ARf +t5UDAQQAx9xj1PDHss6rSCOL9BcU6nfn81nxldUq3O4C+aCo5Zy+mP8VWDIS8sXG +KI5rlUHXaLMKCxYooKUYnXbsa4aJqs2b5hmC4wDqaxRJ3R6Z8n54/EtH2wQkM0d1 +8QZe2uTxwWS7pjTC+dJ6qpQxkPvHj+Gd8UoE8THr96RG7trQt1sAEQEAAQAD/ieL +RLlyNqD7YUpxthRCqOHHfb5ZkoJJ3iQ+d5o6npBn1hJhjjCYH8WnOhD2NPUgROWz +Xw5YgQtf/yHQ0PBpez1VkOgMp7KMinuQPj6+HIL/au5KWNVgHLONbN2ihxoINs6F +QlGWmzLgMiWiz5DiiBfQiAqFcQNyb7ECghDZSE0xAgDRd2grzCa1Qr55MNjIwdDb +vXYOlAO1szqFlsSbWvvghtzS1mXnqiFU/FmA/O8XU5obs7Bm3MQHJ9zWQSruKrop +AgD0QrSVkaKvVXb4mgOjJovP01v2jiN0Og4OkBWMbKwxq50e6zdmGFzBs/rcVmDR +xu49KYHUk5PRm0TA5G7d/x3jAgDqZChBpv1rM23LXnCK9jbk/jP0SXF9RDzdwzW3 +oxfD5HNrnQMXAUwV2DDk9q5gqBtGD1XeSv9QS4yqYjPRDqkZodyItgQYAQoAIBYh +BD5FrJ4ZC07jK66fYaMxr7VAdh1pBQJft5UDAhsMAAoJEKMxr7VAdh1p/n0EAN1+ +N4vI6zNR1s7XIW2wjKGmkQ15/slwk0j3iszHfu9YnV7d7eLqQ9PMkT2MgbqIST8h +jqvMILkBEiniIzcDUno15Yv04o2E1BYcogZ4CKR+vcOwpv66l0xJ1FRAlFAJlHnR +x66kaynJVfzHmC450SdgniROSI9TPvAOKj88ziw7 +=Lbg/ +-----END PGP PRIVATE KEY BLOCK----- diff --git a/test/keys/user4.pub.asc b/test/keys/user4.pub.asc new file mode 100755 index 0000000..6846f88 --- /dev/null +++ b/test/keys/user4.pub.asc @@ -0,0 +1,19 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI0EX7eVHAEEALzWp0O7qcJOlJ18bIu/uo2rx9hmsGeXim5Ye3WUdQ3fGQTBCTGi +NNMSmNts5cvgEPDbrP1k0X+URAetchpvS4mbfjD1XebIAA/pocrKukxy0E/h6sCj +hIm528XuDMbi8Jw+MO+B+OvpuIvmJE77WlzL/b378V1C6Kqvg948GzmHABEBAAG0 +HVVzZXIgRm91ciA8dXNlcjRAZXhhbXBsZS5jb20+iM4EEwEKADgWIQQ4OUSpCL9e +XRXo7k29PJ3KfDNU6AUCX7eVHAIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAK +CRC9PJ3KfDNU6M2gA/44XL4kQfbPtmVSxDm41Ld5RMtxBqqgkInRcDIUSU/pf+sB +Xq1wkArXWj9RTayCJjYnT+OwTJgfk/LtCdceaP7PKLl0+Jy3bMN69E6utSoiNQ9E +hKLAFACKQTXIiZiH2AxRypLZvUHhZa/JucLcLQMVqNdHVWIyQtyC6m9d0Y06Z7iN +BF+3lRwBBAD+N2X1kbRBWYRtsFOxmvOpQvN4Qq3YkiJpZn4tRtTBx7just5qZ4xF +xfPNZ/5iHImf411UA323L2mXx2it/AJ7HwPwrgHcoDfH1llT1QL3aTHqSSePvN84 +2tfWo2TXQolLly1+9/OYzlfnTrfZ2+8q4nkS5hacz/oVGhrRYgYNFQARAQABiLYE +GAEKACAWIQQ4OUSpCL9eXRXo7k29PJ3KfDNU6AUCX7eVHAIbDAAKCRC9PJ3KfDNU +6P7tBACqK+uhUtYaoz7ngdiDnqDEyRcXxPQnIwg/SXhqydCMDHI9HnBJYc3lPUia +3jIR4memh3blFhCWQc6VblJjPEKYab+LML53WI9TA28DU9gG7Z8uYrykm8aP869Q +8ZoOhppmQ0G+/0rccYE0KdxHa6NhCUM3TYsNREmqtlUBOfTETA== +=c9bG +-----END PGP PUBLIC KEY BLOCK----- diff --git a/test/keys/user4.sec.asc b/test/keys/user4.sec.asc new file mode 100755 index 0000000..ebde10b --- /dev/null +++ b/test/keys/user4.sec.asc @@ -0,0 +1,33 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +lQHYBF+3lRwBBAC81qdDu6nCTpSdfGyLv7qNq8fYZrBnl4puWHt1lHUN3xkEwQkx +ojTTEpjbbOXL4BDw26z9ZNF/lEQHrXIab0uJm34w9V3myAAP6aHKyrpMctBP4erA +o4SJudvF7gzG4vCcPjDvgfjr6biL5iRO+1pcy/29+/FdQuiqr4PePBs5hwARAQAB +AAP+O9XQPjgSfE0l7hjk1As2c3mA42L2dnygEoLa69DUnkaYyNbZsO5yyobUBIMm +9UjUVV1mHQx7DW/PdpdQ1mt5hV6TtKz2kPzSyKcAYbTAoJa7eg4ty5Wp62KXXtHy +2vcyowX2ZW7QOmhv50f4xA6gR7zewtbyWJBwfnal3szS7TECAMRkY9AGq7EAC2Bb +vM7t+mihpgx/LEbMTs/eNk7HMxVz4DvxTdknSwG8X/VHoBRNvLN8XFtIpGUn04lI +te8siEUCAPYnWLalY9QcrJE/1Smz8bF4ZhvWth9blfYP/G+kGJKp5qGOXVLZQbof +IwqtDE5HTSoaeNtZgmqyYY1i6MEWtVsB/jadD9DhTpzldmS+fmHjuiyeXg8yoGkI +wxy6qwb6C8S0anD5ZDwzFH6I1h+B6dILzKMEd1399kq1nf9Z/iI/BKunZLQdVXNl +ciBGb3VyIDx1c2VyNEBleGFtcGxlLmNvbT6IzgQTAQoAOBYhBDg5RKkIv15dFeju +Tb08ncp8M1ToBQJft5UcAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJEL08 +ncp8M1TozaAD/jhcviRB9s+2ZVLEObjUt3lEy3EGqqCQidFwMhRJT+l/6wFerXCQ +CtdaP1FNrIImNidP47BMmB+T8u0J1x5o/s8ouXT4nLdsw3r0Tq61KiI1D0SEosAU +AIpBNciJmIfYDFHKktm9QeFlr8m5wtwtAxWo10dVYjJC3ILqb13RjTpnnQHYBF+3 +lRwBBAD+N2X1kbRBWYRtsFOxmvOpQvN4Qq3YkiJpZn4tRtTBx7just5qZ4xFxfPN +Z/5iHImf411UA323L2mXx2it/AJ7HwPwrgHcoDfH1llT1QL3aTHqSSePvN842tfW +o2TXQolLly1+9/OYzlfnTrfZ2+8q4nkS5hacz/oVGhrRYgYNFQARAQABAAP+LZZw +pdN9sDRl36e9sn1XkbRsZdYLR+mY2y7ilKr9j0yKGOAhq5IrIP4JJP4vq5dzhKUo +wN6pZjbN6EZ9uqmVJfSgWB79+Qaxcd1CEnNCerA435OrpF5Yx7LJKJGNyQlI9P37 +zrTbEOvuK4iGEZ77pqOg+S9W2c6Bx3NwIlYzXQcCAP5qdyABGtwIqDpyvRGRjnjo +oCjaLAX6x40A07OePe0O/Gv7I9Ga0GX6a7psAeohhxQLHgbW/WKi3NVgZY9DVdcC +AP/MnW8oIOi8ZK1cYnpdKgPjqATlIFG92o5fu65dpf+7EBk4M1aqYqOy78kE0XaN +KSR35Llu40hzM1Gv31cKvvMCAKhtn+DU8BHhfHMc/rIjzJdXyMdiM6p9i9Vi20Ho +s7L3ddL4Sp6E0P5EbG/23V0x59/7GZ40I5NJvVDRRBUETIuqaoi2BBgBCgAgFiEE +ODlEqQi/Xl0V6O5NvTydynwzVOgFAl+3lRwCGwwACgkQvTydynwzVOj+7QQAqivr +oVLWGqM+54HYg56gxMkXF8T0JyMIP0l4asnQjAxyPR5wSWHN5T1Imt4yEeJnpod2 +5RYQlkHOlW5SYzxCmGm/izC+d1iPUwNvA1PYBu2fLmK8pJvGj/OvUPGaDoaaZkNB +vv9K3HGBNCncR2ujYQlDN02LDURJqrZVATn0xEw= +=eb7E +-----END PGP PRIVATE KEY BLOCK----- diff --git a/test/keys/user5.pub.asc b/test/keys/user5.pub.asc new file mode 100755 index 0000000..4fca08f --- /dev/null +++ b/test/keys/user5.pub.asc @@ -0,0 +1,19 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mI0EX7eVMwEEALbkQCNVWluL6rsl33a/F1UUvCTGH28AQTV5HAKwgt6VoxsIxlgD ++6Rb5grbNVsG6Ydc1SflxemhI5U1VQ3pvFQOpOuqGVH1V4tZkQMZTTvxQpbcRD4z +Dpon/jx8813WmsvV+/yZFBE357nHkftKXX0gH0JJM6sMtI/VqhwVW2O5ABEBAAG0 +HVVzZXIgRml2ZSA8dXNlcjVAZXhhbXBsZS5jb20+iM4EEwEKADgWIQT4OWsR+m4o +sq7I4asmQKng419xlgUCX7eVMwIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAK +CRAmQKng419xlh8oBACMFBtTy6xk2/OrZQlO4uudAcNG+8wFpf1/owpf8kIMyW60 +aM3MdOOHQ0GG520KRtnIxI0ynA1w0UVmLfv27KOgiAvs+GG+LQntadtsZFteXI6f +eTy2TcfqE8JXgzDBNDFx49KZqa1hd9Fvc8bcKypolrxlZcp/Gn45ItwHuHkQOLiN +BF+3lTMBBAC7VPAQu9lzcvsyksYMvjsvgCtfO/rie2iAcXOaPsGJq5ehCUujKan/ +8GPFLtsO99DOzYF/PIK+McHHzzlP5LetvTPQcWdVIV3EhTY6jRwU4ATK2Z2Gz2ID +OuAqYEqka6EQsryJWaeWjT6Xnlt9wBZE8pzt0MHZFKRC/6nKaTXXiwARAQABiLYE +GAEKACAWIQT4OWsR+m4osq7I4asmQKng419xlgUCX7eVMwIbDAAKCRAmQKng419x +lua6A/wIrnVnD1JR+EjZWWEA5lRoyyogviWfwPhPaq1v5d/2PWsLZtPgV9gJZ597 +97MsJ563476obGsvjHqaWB5WtIwJtidQsGllkK5MBZHpOo9Dv+9tBO04YfUKqGdJ +nEDdKkJPT+nA7EhhUOFlUQRQ49Gu7rlKnP+uGYsiwMvJ1/zl/A== +=qaXJ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/test/keys/user5.sec.asc b/test/keys/user5.sec.asc new file mode 100755 index 0000000..28c91d2 --- /dev/null +++ b/test/keys/user5.sec.asc @@ -0,0 +1,33 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +lQHYBF+3lTMBBAC25EAjVVpbi+q7Jd92vxdVFLwkxh9vAEE1eRwCsILelaMbCMZY +A/ukW+YK2zVbBumHXNUn5cXpoSOVNVUN6bxUDqTrqhlR9VeLWZEDGU078UKW3EQ+ +Mw6aJ/48fPNd1prL1fv8mRQRN+e5x5H7Sl19IB9CSTOrDLSP1aocFVtjuQARAQAB +AAP8CCM3x1qw3onnM9SHkN0HyL1XcbtvAp1cSWjOGkCIUicOTtGhIaFrvPBp1+nR +Ae/YzDEROuk6WR7WWnk5A5l2y6Nparm/bGm8LLBK6sOsvE80if7UxrzRjm/tSQHv +VuiOYFRqSn8JQk6LtUhUZI0hpSdT+pjQj/le+xv8/jbzWEECANXTV/RUHSewPEDP +FuMy0qkUraSfvW3o26BymoB/XAp1PkACC2iEzsE23GijOJuBYPn6Pw2cnQJADK7j +XcQ27gUCANr29s/rSy0efhynqwSh9nSz83TaceGQ6kuFOs/TGVWw42BeeJ+Mrv22 +f5svphrTezrDkhZwtWCVIOpd5w6imSUCAKVitI2cGDoG7hyuuaPRDGSDJXaetRGh +TZzRK2QmpdpxC4hTrXNvO3wtiZWjLO3zZIGbrftccjk6nDBssbMYbA6iXLQdVXNl +ciBGaXZlIDx1c2VyNUBleGFtcGxlLmNvbT6IzgQTAQoAOBYhBPg5axH6biiyrsjh +qyZAqeDjX3GWBQJft5UzAhsDBQsJCAcCBhUKCQgLAgQWAgMBAh4BAheAAAoJECZA +qeDjX3GWHygEAIwUG1PLrGTb86tlCU7i650Bw0b7zAWl/X+jCl/yQgzJbrRozcx0 +44dDQYbnbQpG2cjEjTKcDXDRRWYt+/bso6CIC+z4Yb4tCe1p22xkW15cjp95PLZN +x+oTwleDMME0MXHj0pmprWF30W9zxtwrKmiWvGVlyn8afjki3Ae4eRA4nQHXBF+3 +lTMBBAC7VPAQu9lzcvsyksYMvjsvgCtfO/rie2iAcXOaPsGJq5ehCUujKan/8GPF +LtsO99DOzYF/PIK+McHHzzlP5LetvTPQcWdVIV3EhTY6jRwU4ATK2Z2Gz2IDOuAq +YEqka6EQsryJWaeWjT6Xnlt9wBZE8pzt0MHZFKRC/6nKaTXXiwARAQABAAP2JVHG +gY7qwxUk9e5HhkJfiBcAjPhmAriTGQOBBDl8VPDaRDqV1ut18obxWVb8TP8RmiFW +qwJjCYDgGe4ufLwT2zF4Bk8sEzgXK4fKc1cHdrzwVkqzWyqkpPdMRukMyadJD2G6 +k8JUiMZ0zNWHT4mjvHTqDG9mRM9enRmdFo+SwQIA0BpoLYgcewpwBipr4YMbm39E +hsjK0yr7VivcSi0eZ3+xqe+19GKvciz6rgI1P4LyZr6kWSJrB5writL8Fs9oqwIA +5nKqokGvKAEQH96573bSR4UlyxzGsOyvgJn8uh8KA8Nvw5XQ8khzICLNrXGnit09 +/A3yYUuVJ/Hi5yYs0ZcMoQH+NQKroF0iPOW0a88Vo6x3KjnItk34COgWl3W5Zgxv +Nx8AfKwFdC5UoT7RgW5Ak8TSlBSLiO3+w4/yY1QWdwG2RJsmiLYEGAEKACAWIQT4 +OWsR+m4osq7I4asmQKng419xlgUCX7eVMwIbDAAKCRAmQKng419xlua6A/wIrnVn +D1JR+EjZWWEA5lRoyyogviWfwPhPaq1v5d/2PWsLZtPgV9gJZ59797MsJ563476o +bGsvjHqaWB5WtIwJtidQsGllkK5MBZHpOo9Dv+9tBO04YfUKqGdJnEDdKkJPT+nA +7EhhUOFlUQRQ49Gu7rlKnP+uGYsiwMvJ1/zl/A== +=Sg1j +-----END PGP PRIVATE KEY BLOCK----- diff --git a/test/test.bats b/test/test.bats index 46156d7..b8ebc86 100644 --- a/test/test.bats +++ b/test/test.bats @@ -63,3 +63,38 @@ load test_helper run grep 37d2046a395cbfc .sig/manifest.txt [ "$status" -eq 0 ] } + +@test "Can verify git repo has signed commits by anyone" { + set_identity "user1" + echo "test string" > somefile + git init + git add . + git commit -m "initial commit" + run sig verify --method git + [ "$status" -eq 0 ] +} + +@test "Can verify git repo has signed commits by three different identities" { + + git init + + set_identity "user1" + echo "test string 1" > somefile1 + git add . + git commit -m "user1 commit" + + set_identity "user2" + echo "test string 2" > somefile2 + git add . + git commit -m "user2 commit" + + set_identity "user3" + echo "test string 3" > somefile3 + git add . + git commit -m "user3 commit" + + run sig verify --method git --threshold 3 + [ "$status" -eq 0 ] +} + + diff --git a/test/test_helper.bash b/test/test_helper.bash index eb3118f..f59bb2e 100644 --- a/test/test_helper.bash +++ b/test/test_helper.bash @@ -11,6 +11,9 @@ setup(){ cp /home/test/sig/sig /tmp/bin/sig export PATH=${bin_dir}:${PATH} cd "$temp_dir" || return 1 + rm -rf ~/.gnupg + rm -rf ~/.gitconfig + killall gpg-agent || : } teardown(){ @@ -19,7 +22,20 @@ teardown(){ set_identity(){ local -r name="${1?}" - echo "set key to $name" + killall gpg-agent || : + rm -rf ~/.gnupg || : + rm -rf ~/.gitconfig || : + gpg --import ${HOME}/sig/test/keys/*.pub.asc + gpg --import ${HOME}/sig/test/keys/${name}.sec.asc + local -r fingerprint=$( \ + gpg --list-keys --with-colons "${name}" 2>&1 \ + | awk -F: '$1 == "fpr" {print $10}' \ + | head -n1 \ + ) git config --global user.email "${name}@example.com" git config --global user.name "${name}" + git config --global user.signingKey "${fingerprint}" + git config --global commit.gpgSign "true" + git config --global merge.gpgSign "true" + echo "default-key ${fingerprint}" > ~/.gnupg/gpg.conf }