Watch
1
0
Fork
You've already forked keys
0
keys/scripts/sign.sh

50 lines
963 B
Shell
Raw Permalink Normal View History

#!/bin/sh
# Create detached signatures for the signed documents in this repo
#
# Usage: ./scripts/sign.sh [FILE...]
#
# FILE defaults to KEYS.md OPENPGP.md AGE.md
#
# Writes FILE.asc next to each FILE and verifies it
set -eu
# Internal [S] subkey; pinned with "!" below so `gpg` never picks another subkey
SIGNING_KEY='D6D1989DF1F6B23FD776293DB46EDB4DFC26805D'
REPO=$(cd "$(dirname "$0")/.." && pwd)
if [ $# -eq 0 ]; then
set -- \
"$REPO/KEYS.md" \
"$REPO/OPENPGP.md" \
"$REPO/AGE.md" \
# Keep this list aligned with the documentation at the top
fi
for FILE; do
if [ ! -f "$FILE" ]; then
echo "Error: $FILE not found" >&2
exit 1
fi
gpg --armor \
--detach-sign \
--digest-algo SHA512 \
--local-user "${SIGNING_KEY}!" \
--yes \
--output "$FILE.asc" \
"$FILE"
gpg --verify "$FILE.asc" "$FILE"
echo "Signed $FILE"
echo ""
done