My personal blog
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

18 lines
639 B

#!/usr/bin/env bash
[[ -z "$1" ]] && echo "Usage: verify.sh <url>" && exit 1
SIG=`mktemp`
RAW=`mktemp`
CONTENT=$(curl --silent "$1")
# Extract the signature
echo "$CONTENT" | awk '/-----BEGIN PGP SIGNATURE-----/{p=1};{if (p==1){a[NR]=$0}};/-----END PGP SIGNATURE-----/{for (i in a) print a[i]}' > "$SIG"
# "Re-create" the page content before the signing process
echo "$CONTENT" | awk '/-----BEGIN PGP SIGNATURE-----/{p=1;f=0};{if (p!=1){print $0}; if (p==1 && f==0) {print "%%%SIGNED_PAGES_PGP_SIGNATURE%%%"; f=1}};/-----END PGP SIGNATURE-----/{p=0}' > "$RAW"
GPG_OUT=`gpg --verify "$SIG" "$RAW"`
RET=$?
rm "$SIG" "$RAW"
exit "$RET"