#!/bin/bash # SPDX-Version: 3.0 # SPDX-CreationInfo: 2025-11-12; WEIDNER, Marc S.; # SPDX-ExternalRef: GIT https://git.coresecret.dev/msw/CISS.debian.live.builder.git # SPDX-FileContributor: WEIDNER, Marc S.; Centurion Intelligence Consulting Agency # SPDX-FileCopyrightText: 2024-2025; WEIDNER, Marc S.; # SPDX-FileType: SOURCE # SPDX-License-Identifier: LicenseRef-CNCL-1.1 OR LicenseRef-CCLA-1.1 # SPDX-LicenseComment: This file is part of the CISS.debian.installer.secure framework. # SPDX-PackageName: CISS.debian.live.builder # SPDX-Security-Contact: security@coresecret.eu guard_sourcing || return "${ERR_GUARD_SRCE}" ####################################### # Integrates and generates sha512sum and GPG signatures on CISS specific LIVE boot artifacts: # - /root/.ciss/attestation/VAR_SIGNING_KEY_FPR.* # - /etc/initramfs-tools/files/unlock_wrapper.sh # - /usr/lib/live/boot/0030-ciss-verify-checksums # Globals: # BASH_SOURCE # VAR_HANDLER_BUILD_DIR # VAR_SIGNING_KEY_FPR # VAR_SIGNING_KEY_PASSFILE # VAR_WORKDIR # Arguments: # None # Returns: # 0: on success ####################################### ciss_upgrades_boot() { printf "\e[95m++++ ++++ ++++ ++++ ++++ ++++ ++ 🧪 %s starting ... \e[0m\n" "${BASH_SOURCE[0]}" gpg --batch --yes --export "${VAR_SIGNING_KEY_FPR}" >| "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/root/.ciss/attestation/${VAR_SIGNING_KEY_FPR}.gpg" declare -ar _ary_target=( "/root/.ciss/attestation/${VAR_SIGNING_KEY_FPR}.gpg" "/etc/initramfs-tools/files/unlock_wrapper.sh" "/usr/lib/live/boot/0030-ciss-verify-checksums" ) declare _target="" target="" for _target in "${_ary_target[@]}"; do declare target="${VAR_HANDLER_BUILD_DIR}/config/includes.chroot${_target}" declare var_sha="${target}.sha512sum.txt" declare var_sig="${var_sha}.sig" declare var_fil="${target}" declare var_prefix="${VAR_HANDLER_BUILD_DIR}/config/includes.chroot" # shellcheck disable=SC2312 sha512sum "${var_fil}" | sed "s|${var_prefix}||" >| "${var_sha}" gpg --batch --yes --pinentry-mode loopback --passphrase-file "${VAR_SIGNING_KEY_PASSFILE}" --local-user "${VAR_SIGNING_KEY_FPR}" \ --detach-sign --output "${var_sig}" "${var_sha}" done mv "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/boot/0030-ciss-verify-checksums.sha512sum.txt" \ "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/etc/ciss/hashes/0030-ciss-verify-checksums.sha512sum.txt" mv "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/boot/0030-ciss-verify-checksums.sha512sum.txt.sig" \ "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/etc/ciss/signatures/0030-ciss-verify-checksums.sha512sum.txt.sig" [[ -e "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/boot/0030-verify-checksums" ]] && \ rm -f "${VAR_HANDLER_BUILD_DIR}/config/includes.chroot/usr/lib/live/boot/0030-verify-checksums" printf "\e[92m++++ ++++ ++++ ++++ ++++ ++++ ++ ✅ %s successfully applied. \e[0m\n" "${BASH_SOURCE[0]}" return 0 } ### Prevents accidental 'unset -f'. # shellcheck disable=SC2034 readonly -f ciss_upgrades_boot # vim: number et ts=2 sw=2 sts=2 ai tw=128 ft=sh