19 lines
639 B
Bash
19 lines
639 B
Bash
|
#!/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"
|