Skip to content

Commit c160dec

Browse files
feat: add signature verification to zfs modules (#315)
1 parent 830fe57 commit c160dec

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

build_files/zfs/build-kmod-zfs.sh

+29-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,35 @@ dnf install -y libtirpc-devel libblkid-devel libuuid-devel libudev-devel openssl
2424

2525
### BUILD zfs
2626
echo "getting zfs-${ZFS_VERSION}.tar.gz"
27-
curl -L -O https://github.com/openzfs/zfs/releases/download/zfs-${ZFS_VERSION}/zfs-${ZFS_VERSION}.tar.gz
27+
curl -L -O "https://github.com/openzfs/zfs/releases/download/zfs-${ZFS_VERSION}/zfs-${ZFS_VERSION}.tar.gz"
28+
curl -L -O "https://github.com/openzfs/zfs/releases/download/zfs-${ZFS_VERSION}/zfs-${ZFS_VERSION}.tar.gz.asc"
29+
curl -L -O "https://github.com/openzfs/zfs/releases/download/zfs-${ZFS_VERSION}/zfs-${ZFS_VERSION}.sha256.asc"
30+
31+
echo "Import key"
32+
# https://openzfs.github.io/openzfs-docs/Project%20and%20Community/Signing%20Keys.html
33+
gpg --yes --keyserver keyserver.ubuntu.com --recv D4598027
34+
35+
echo "Verifying tar.gz signature"
36+
gpg --verify "zfs-${ZFS_VERSION}.tar.gz.asc" "zfs-${ZFS_VERSION}.tar.gz"
37+
if [ $? -ne 0 ]; then
38+
echo "ZFS tarball signature verification FAILED! Exiting..."
39+
exit 1
40+
fi
41+
42+
echo "Verifying checksum signature"
43+
gpg --verify "zfs-${ZFS_VERSION}.sha256.asc"
44+
if [ $? -ne 0 ]; then
45+
echo "Checksum signature verification FAILED! Exiting..."
46+
exit 1
47+
fi
48+
49+
echo "Verifying encrypted checksum"
50+
gpg --decrypt "zfs-${ZFS_VERSION}.sha256.asc" | sha256sum -c
51+
if [ $? -ne 0 ]; then
52+
echo "Checksum verification FAILED! Exiting..."
53+
exit 1
54+
fi
55+
2856
# no-same-owner/no-same-permissions required for F40 based images building on podman 3.4.4 (ubuntu 22.04)
2957
tar -z -x --no-same-owner --no-same-permissions -f zfs-${ZFS_VERSION}.tar.gz
3058

0 commit comments

Comments
 (0)