From 0296984bc418492e6bd6665e5027821cc8e4120c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Gr=C3=B6ber?= Date: Mon, 14 Oct 2019 18:58:47 +0200 Subject: [PATCH] aps: Implement gpg signature verification --- access-points/build-image.sh | 12 +++- access-points/keys/15807931.asc | 54 +++++++++++++++ access-points/keys/2074BE7A.asc | 66 +++++++++++++++++++ access-points/keys/626471F1.asc | 102 +++++++++++++++++++++++++++++ access-points/keys/Makefile | 9 +++ access-points/keys/trustedkeys.kbx | Bin 0 -> 10536 bytes 6 files changed, 242 insertions(+), 1 deletion(-) create mode 100644 access-points/keys/15807931.asc create mode 100644 access-points/keys/2074BE7A.asc create mode 100644 access-points/keys/626471F1.asc create mode 100644 access-points/keys/Makefile create mode 100644 access-points/keys/trustedkeys.kbx diff --git a/access-points/build-image.sh b/access-points/build-image.sh index 85ef09e..49bc1dc 100755 --- a/access-points/build-image.sh +++ b/access-points/build-image.sh @@ -18,11 +18,21 @@ IMAGEDIR="$IMAGESDIR"/"$VERSION" mkdir -p "$IMAGEDIR" imagebuilder="$(basename "$IMAGEBUILDER_URL")" +checksums_url="$(dirname "$IMAGEBUILDER_URL")/sha256sums" +trustedkeys=$PWD/keys/trustedkeys.kbx ( cd "$DLDIR" wget --continue "$IMAGEBUILDER_URL" -O "$imagebuilder" -) + wget "${checksums_url}" -O "${imagebuilder}.sha256sums" + wget "${checksums_url}.asc" -O "${imagebuilder}.sha256sums.asc" + + gpgv --keyring="$trustedkeys" \ + "${imagebuilder}.sha256sums.asc" "${imagebuilder}.sha256sums" \ + || exit 42 + + sha256sum --ignore-missing --check ${imagebuilder}.sha256sums || exit 43 +) || exit 50 tar -C "$BUILDDIR" -axf "$DLDIR"/"$imagebuilder" diff --git a/access-points/keys/15807931.asc b/access-points/keys/15807931.asc new file mode 100644 index 0000000..a86176f --- /dev/null +++ b/access-points/keys/15807931.asc @@ -0,0 +1,54 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: OpenWrt 18.06 public key v2 + +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 +=VO4g +-----END PGP PUBLIC KEY BLOCK----- diff --git a/access-points/keys/2074BE7A.asc b/access-points/keys/2074BE7A.asc new file mode 100644 index 0000000..5bebe42 --- /dev/null +++ b/access-points/keys/2074BE7A.asc @@ -0,0 +1,66 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: OpenWrt 19.07 public key + +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 +=u3sV +-----END PGP PUBLIC KEY BLOCK----- diff --git a/access-points/keys/626471F1.asc b/access-points/keys/626471F1.asc new file mode 100644 index 0000000..9962dc4 --- /dev/null +++ b/access-points/keys/626471F1.asc @@ -0,0 +1,102 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: PGP key for unattended snapshot builds + +mQINBFeXZ7wBEAC3QZ+jhWrdj2XW9AdZpZrgHETZCW7lXxI3pJ2kS4UXNq+40KR2 +GJOdsXDnLb7ZiHNn6yio6qKLXFD/bimxK+22HSJlc3LSF2kKzNrgKoFR2rIKbL3c +Us7GpWY8VqGTrfwR6OQNcoWqa1n5/tK9xuqKhfpoA2Eci8K+w5YCzCmnOz2vzbgS +ptuFshTKYI2Z/DLQZyP+OQkEYPfCdani2KsISn4DTx8xFjmW/sb/zf0isemTwWyK +Oh76FTa0tYdjTtAv3JHqyr2XkddM/oUSc09baCOfhUdo7Ep5rUqKw7BQsjreBYoZ +WcL/hmlIksUrFlqo/HRpoBgCZpSjsF/Z9otZpSugMHVVlRCnAKQiWxWAd+V+y2FG +q79myPgiMkbkaIrCelrUhDFRQ5wTnfAppFolw+xtT9bwdkwxZDNBe6PCYuLqD8wg +jtDtt3q5UaUOMGJrMDKZ0Wi6ycdl/sM59kLfyBV4ybmYkwOLTlMvOATiyUZeJJZO +2bTKBvD+izsx3Ea4VLPWYSFmk6QwaOMtj6tcXwBgtljzqMJ0S9Gubmopy3WAkP/m +/6ETJpuIupqEtvbRTX4O/+qnBgY40aQX7B4NgJi2SypP/WML5v2B2amLlhTcN+we +ULWyH9KvfKny5mrtG5C9xq1eAgKtB2QEDEbRyz34DWVWGpqIY1mscaNv8wARAQAB +tF1PcGVuV3J0IEJ1aWxkIFN5c3RlbSAoUEdQIGtleSBmb3IgdW5hdHRlbmRlZCBz +bmFwc2hvdCBidWlsZHMpIDxwZ3BzaWduLXNuYXBzaG90c0BvcGVud3J0Lm9yZz6J +AlEEEwEIADsCGwMFCwkIBwIGFQgJCgsCBBYCAwECHgECF4AWIQRUzHQweixtyc5h +gmnNhLztYmRx8QUCXTdRjQIZAQAKCRDNhLztYmRx8QgjEACmORm3zSoIX77q3YXg +rjLiCaHBCT+2ViyuGbI121jUhy1mJk3+258Jl0YOddLjQovK3mECWOIU8UoucAkK +OKRNV5bSCQtlp5sjiw8mUc6NAJ74Ef+SHEV4JYK64JDfQrQU8TuqzWUwTDHhJxhU +nlk4NWSpq9jQDIaeS5YqS2SHNOGACAYmcRWuWEkAXe/FECWZYR3C8ukX3FhdSZM2 +I3J0xmrsKI7Yu6EgPwpVjDPrnkA/++vXaGSfFKlf1OoKB209KXa04LefukkPdecs +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 +XNiJCsDUg/RfnN2p9pOYzMY/0HliaQqzkdcznSclfG/g+KV754Du2v/5M9qXPZCx +Axg0Ms9Qprg5FOxY3VNQ2sAjGIqRqRx+DfihDgXuE/bxHi2wLelinGMrXid26FvM +DMLyYC0NA1zSJdBpoH/iNGc9JmfuFi+xX6WgtC4YR6aCKpWhTzR0z0Me0whgp4wt +qmdVBru8MoxJUGe05FlYG2O73+3QxhDpxnpsFAGkE8aA8yQK77w8m+ClgFiw7uB7 +vHi4xJtKN2HYKaycWidxS57eMM5FBRHkdzJvEALzheWr2R0TsfLlW42Gex+HPZYB +PfJ9c44SuTJni0htTZl1gMiEIj7lc4xvg0MmOwqG93SlhEvcEPR4uQINBFeXaH8B +EADO0x1PmKDkwozTZMWyYa91zRJBUc8nKY9OHqL9fABtJ5pMSu8Ys/eR77Zx0KMw +56ziy14gjkxTpoPnuLXNT/rGFnZmvyxnh8I7N+qgjgA4h566I74jlvLY/4z6+Pa/ +9TsoxZ6LEWNOSi1Zy8YauI/WNxFjUUcytN+r/mVlg0cfPP/bO+zOrTb9Y/5v8aHV +F/XJ+vkOVcrDpD7t+QKDwFZ8uJyFO0eJHQ5w7Sa0PoQLHP6KoMSVtIB4T1DTZ84V +MXiycfAIm/KQdDgQq50ShdwgQ5HxPIfa0qisPzbUT8NJX04D1cgGkMdq8VDcYKzb +0ZBypyLjqc4uf8taqBMHzqyAfiadCsaxx5VjN/xq8zxzxPLGS58F3+TTWU+fWwr/ +nvcBZ0VFdWY4IyaXE9wjyTX6IYfULvPRpfjc2+EQjfF9uBMrwT/sqWuf/nFdS7ZQ +Fii/SApplHLcukYX/JJHWm+cdmZQ/nybLYsN9YMd0esaaSMtqrKT/6oL00rBRAFL +uNXsybXkHRuRHuCsvH683mVdV4bDIMvZ1tFPT5wfyWgdv6UE5HwBsObhIld1pF0O +0/Krzko36Ob701OhHP6jJ0v2uaC5TnNFwgO1oWJivtm2QslTdTTaunS5/8N3K0W3 +NL9gRumCDZSLfurnmaXvTvMkvYO8F9/L8XaSI2lV9ni7lwARAQABiQQ+BBgBAgAJ +BQJXl2h/AhsCAikJEM2EvO1iZHHxwV0gBBkBAgAGBQJXl2h/AAoJEPk1JaiLaZAp +D88P/1z+ydDaKiT0f08WKdia44Dq1/g1ufTJf2g5OyUMnyi3pIHg5cZcZ5PSW+rK +1thV4CWJ8ESVhFUVhm3vp1uOGqayYMxmxgdtpchgtlI+5MRNUTelmulaGb1CSFt4 +TKKECh+BaV4GYlx3xVeevOw2QkY2iQDqCpn+V2om3MzCR4cznwMej+AU002XF7wz +zc8cDSs3jwXoNTi1l4S/P79AauefgNZwGGZaj7Zku9MsjhwH3fz2PySzsUUVcuLW +CdaKBavb24a/yJmkCd5jrjXhxlbcbv3BMjAABNG8i+sj2ly+uJSsx07JxNzBc5p3 +15er+Yl2Dx0SkqIgDxVz1Q11P3dpm3yvrXQts5GZ2r7AWMSFa+HvEq72EWb/dQxB +RpWXeOwiWplPgbx6z5EsecpU7MsxGi+pEpFuwKxfEjGxWrHOEpDn7AsKmKxU18fn +VYJNIugDPuzSMosJLO55QhuFXa80EzmUUs0KXflSA3Vpi5G6wjsbKqQ9P8DxVaPF +XGfujZIEjDK7iFniMWyreoc7KAi5G104dFfW9ESansUDf59WfHQIlSKV+caOF/+j +J18QLoa5ZSf2RMR/Z4mw43BD2A9D1AL1wUZEVGtXBBx6OvtX4MFlJ3Njxgu+ftGp +HcyaVd2laKOqPueiLYL6RtWpsuJf8tZ7ZrGAoT5RMHuUZ2Xu/bkP/324UjMmaoB2 +EQARCBvXsvuQ5XQw4HAW1np8SUlpARBXj0mJCaBPMAsOBcPQAKlPmqhBgIFPC7Ob +YP3d6R8yfPEXw+bBbprZzOsbUqhGKvYRrKGASg4m5Ycud5vmdRztfeSsY1InebL6 +UzDZADfAhfsQBLoklSdkWnvBrB5x0J6REX1kTVn9kGJRlHXsORsChiMRhkXGJcBw +bqwUQz25Mb7L3VFxA+ry1j6PDZ3vpmMdKegqOc/ZXGya2JZDvIuP/m2OtXNB+0ht +tBBMrhXg7hpXZjXCCQNs080nq3RuJCQdC/7i9osyic58yAZ1Z1gniET2eW3rUCoa +J06fIzE5v7ZelXKk6g49xPJOp7wFSMJy8dDC6RkuTdcTs5ChHTBkEWE6vgkJjNPE +jP1ditLKRmCRkynw7jNs/6PVlNe0kS+88eM5LUeQvU7Uf5b3x2eX6hAw1CEe+8Tp +R9YSiV+5a8Gl8/XalSdFAADIIGqXgkAV6gIkR0kaTPygU4XG/SQKl3skzWBYSza7 +TDrX7kx6WaWIciZaLKGBXhfIpbqN4pYil70TkvtvxI8jkcd1PuinLcbtoPVcjeSN +1oiIyclurSdK9zlWpETtS/QQRx6m8V6K5gdjJ2W7FHI1/+2zYmyR8Sew5zUmJL4Y +94igaYUvzmq0U7NziyphAaEuP2IxF+Y3 +=hW8R +-----END PGP PUBLIC KEY BLOCK----- diff --git a/access-points/keys/Makefile b/access-points/keys/Makefile new file mode 100644 index 0000000..11e6b0a --- /dev/null +++ b/access-points/keys/Makefile @@ -0,0 +1,9 @@ +trustedkeys.kbx: + cat *.asc | \ + gpg --no-default-keyring --no-options --trust-model=always \ + --keyring ${PWD}/trustedkeys.kbx \ + --import - +clean: + rm trustedkeys.kbx + +.PHONY: clean diff --git a/access-points/keys/trustedkeys.kbx b/access-points/keys/trustedkeys.kbx new file mode 100644 index 0000000000000000000000000000000000000000..6719667c194cca2703e8cd6562ee3590eac46c3b GIT binary patch literal 10536 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 literal 0 HcmV?d00001