Add the verify=y option to verify the squashfs signature with gpg
This commit is contained in:
parent
249a52d941
commit
1a59eb3792
@ -105,6 +105,15 @@ _verify_checksum() {
|
|||||||
return ${_status}
|
return ${_status}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
_verify_signature() {
|
||||||
|
local _status
|
||||||
|
cd "/run/archiso/bootmnt/${archisobasedir}/${arch}"
|
||||||
|
gpg --homedir /gpg --status-fd 1 --verify airootfs.sfs.sig 2>/dev/null | grep -qE '^\[GNUPG:\] GOODSIG'
|
||||||
|
_status=$?
|
||||||
|
cd "${OLDPWD}"
|
||||||
|
return ${_status}
|
||||||
|
}
|
||||||
|
|
||||||
run_hook() {
|
run_hook() {
|
||||||
[[ -z "${arch}" ]] && arch="$(uname -m)"
|
[[ -z "${arch}" ]] && arch="$(uname -m)"
|
||||||
[[ -z "${copytoram_size}" ]] && copytoram_size="75%"
|
[[ -z "${copytoram_size}" ]] && copytoram_size="75%"
|
||||||
@ -159,6 +168,21 @@ archiso_mount_handler() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if [[ "${verify}" == "y" ]]; then
|
||||||
|
if [[ -f "/run/archiso/bootmnt/${archisobasedir}/${arch}/airootfs.sfs.sig" ]]; then
|
||||||
|
msg -n ":: Signature verification requested, please wait..."
|
||||||
|
if _verify_signature; then
|
||||||
|
msg "done. Signature is OK, continue booting."
|
||||||
|
else
|
||||||
|
echo "ERROR: one or more files are corrupted"
|
||||||
|
launch_interactive_shell
|
||||||
|
fi
|
||||||
|
else
|
||||||
|
echo "ERROR: verify=y option specified but ${archisobasedir}/${arch}/airootfs.sfs.sig not found"
|
||||||
|
launch_interactive_shell
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if [[ "${copytoram}" == "y" ]]; then
|
if [[ "${copytoram}" == "y" ]]; then
|
||||||
msg ":: Mounting /run/archiso/copytoram (tmpfs) filesystem, size=${copytoram_size}"
|
msg ":: Mounting /run/archiso/copytoram (tmpfs) filesystem, size=${copytoram_size}"
|
||||||
mkdir -p /run/archiso/copytoram
|
mkdir -p /run/archiso/copytoram
|
||||||
|
@ -39,6 +39,9 @@ archiso_pxe_http_mount_handler () {
|
|||||||
if [[ "${checksum}" == "y" ]]; then
|
if [[ "${checksum}" == "y" ]]; then
|
||||||
_curl_get "${archiso_http_srv}${archisobasedir}/${arch}/airootfs.md5" "/${arch}"
|
_curl_get "${archiso_http_srv}${archisobasedir}/${arch}/airootfs.md5" "/${arch}"
|
||||||
fi
|
fi
|
||||||
|
if [[ "${verify}" == "y" ]]; then
|
||||||
|
_curl_get "${archiso_http_srv}${archisobasedir}/${arch}/airootfs.sfs.sig" "/${arch}"
|
||||||
|
fi
|
||||||
|
|
||||||
mkdir -p "/run/archiso/bootmnt"
|
mkdir -p "/run/archiso/bootmnt"
|
||||||
mount -o bind /run/archiso/httpspace /run/archiso/bootmnt
|
mount -o bind /run/archiso/httpspace /run/archiso/bootmnt
|
||||||
|
@ -15,6 +15,7 @@ build() {
|
|||||||
add_binary mountpoint
|
add_binary mountpoint
|
||||||
add_binary truncate
|
add_binary truncate
|
||||||
add_binary gpg
|
add_binary gpg
|
||||||
|
add_binary grep
|
||||||
|
|
||||||
add_file /usr/lib/udev/rules.d/60-cdrom_id.rules
|
add_file /usr/lib/udev/rules.d/60-cdrom_id.rules
|
||||||
add_file /usr/lib/udev/rules.d/10-dm.rules
|
add_file /usr/lib/udev/rules.d/10-dm.rules
|
||||||
|
Loading…
Reference in New Issue
Block a user