add check-sign-file.sh
This commit is contained in:
parent
408eee9c09
commit
26f309dcd7
10
README.md
10
README.md
|
@ -1,2 +1,12 @@
|
|||
# digital-signature
|
||||
Repo for public checking digital signature of my files.
|
||||
|
||||
Hello everyone!
|
||||
For checking digital sign on my files feel free to use this simple shell script.
|
||||
|
||||
1. Download Invoice and their .signature file from email
|
||||
2. Run script with filename-of-invoice-file
|
||||
|
||||
```
|
||||
./check-sign-file.sh <filename> [filename.signature] [public-keyfile]
|
||||
```
|
||||
|
|
|
@ -0,0 +1,51 @@
|
|||
#!/bin/bash
|
||||
|
||||
RED='\033[0;31m'
|
||||
GRN='\033[1;32m'
|
||||
YEL='\033[0;33m'
|
||||
BLU='\033[1;34m'
|
||||
END='\033[0m' # No Color
|
||||
|
||||
|
||||
filename=$1
|
||||
sign=${2:-"$filename.signature"}
|
||||
|
||||
|
||||
date=$(date -I)
|
||||
|
||||
if [ $# -eq 0 ]
|
||||
then
|
||||
echo "Usage: ./check-sign-file.sh <filename> [filename.signature] [public-keyfile]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -f $sign ]; then
|
||||
printf $RED"Sign file not found!\n"$END
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Getting Aleksei Krugliak publickey..."
|
||||
curl https://raw.githubusercontent.com/ksemele/digital-signature/main/akrugliak-publickey.pem > akrugliak-publickey.pem
|
||||
echo "[$date] successfully get key"
|
||||
|
||||
public_key=akrugliak-publickey.pem
|
||||
|
||||
echo "Verifiying file [$filename] signed by [$public_key] sign-file [$sign]"
|
||||
|
||||
printf $BLU
|
||||
echo "openssl dgst -sha256 -verify $public_key -signature $sign $filename"
|
||||
echo ""
|
||||
printf $END
|
||||
|
||||
result=$(openssl dgst -sha256 -verify $public_key -signature $sign $filename | awk '{print $2}')
|
||||
|
||||
if [ $result == "Failure" ]; then
|
||||
printf $RED"Verifiying file [$filename]: $result\n"$END
|
||||
else
|
||||
printf $GRN"Verifiying file [$filename]: $result\n"$END
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "rm -rf akrugliak-publickey.pem"
|
||||
rm -rf akrugliak-publickey.pem
|
||||
printf $GRN"done.\n"$END
|
Loading…
Reference in New Issue