#!/bin/bash set -e checkcode () { if [ -z "$1" ]; then echo -e "\n\e[31mERROR!\033[0m chkcode missing return code paramater\n" exit 1 else retcode=$1 fi if [ $retcode -ne 0 ]; then echo -e "\t\e[31mERROR!\033[0m Response Code: $retcode" else printf '\e[1;32mOK!\e[0m\n' fi } printf "Testing contents.7z integrity... " 7z t contents.7z > /dev/null 2>&1 checkcode $? printf "Checking sha512 checksums... " sha512sum -c checksums.sha512 > /dev/null 2>&1 checkcode $? printf "Checking signature against provided public key... " ssh-keygen -Y verify -f "./anonymous_signer" -I "anonymous@local" -n "file-integrity" -s contents.7z.sig < contents.7z > /dev/null 2>&1 checkcode $?