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.
55 lines
1.4 KiB
55 lines
1.4 KiB
#!/bin/bash |
|
|
|
here=$(dirname "$0") |
|
test -n "$here" -a -d "$here" || exit |
|
cd $here |
|
|
|
|
|
CERT_FILE=${CERT_FILE:-~/codesigning/cert.pem} |
|
KEY_FILE=${KEY_FILE:-~/codesigning/key.pem} |
|
if [[ ! -f "$CERT_FILE" ]]; then |
|
ls $CERT_FILE |
|
echo "Make sure that $CERT_FILE and $KEY_FILE exist" |
|
fi |
|
|
|
if ! which osslsigncode > /dev/null 2>&1; then |
|
echo "Please install osslsigncode" |
|
fi |
|
|
|
mkdir -p ./signed/dist >/dev/null 2>&1 |
|
|
|
echo "Found $(ls dist/*.exe | wc -w) files to sign." |
|
for f in $(ls dist/*.exe); do |
|
echo "Checking GPG signatures for $f..." |
|
bad=0 |
|
good=0 |
|
for sig in $(ls $f.*.asc); do |
|
if gpg --verify $sig $f > /dev/null 2>&1; then |
|
(( good++ )) |
|
else |
|
(( bad++ )) |
|
fi |
|
done |
|
echo "$good good signature(s) for $f". |
|
if (( bad > 0 )); then |
|
echo "WARNING: $bad bad signature(s)" |
|
for sig in $(ls $f.*.asc); do |
|
gpg --verify $sig $f |
|
gpg --list-packets --verbose $sig |
|
done |
|
read -p "Do you want to continue (y/n)? " answer |
|
if [ "$answer" != "y" ]; then |
|
exit |
|
fi |
|
fi |
|
echo "Signing $f..." |
|
osslsigncode sign \ |
|
-certs "$CERT_FILE" \ |
|
-key "$KEY_FILE" \ |
|
-n "Electrum" \ |
|
-i "https://electrum.org/" \ |
|
-t "http://timestamp.digicert.com/" \ |
|
-in "$f" \ |
|
-out "signed/$f" |
|
ls signed/$f -lah |
|
done
|
|
|