# Sign:
$ ./sign.sh mylabs.zip# Verify:
$ ./verify.sh mylabs.zip signature.txt| #!/usr/bin/env sh | |
| filepath=${1} | |
| signature=${2:-"signature.txt"} | |
| privkey=${3:-"private_key.pem"} | |
| pubkey=${4:-"public_key.pem"} | |
| binsgn="${signature}.bin" | |
| openssl genrsa -out $privkey 2048 | |
| openssl rsa -in $privkey -pubout -out $pubkey | |
| openssl dgst -sign $privkey \ | |
| -out $binsgn $filepath | |
| openssl base64 -in $binsgn \ | |
| -out $signature | |
| rm -f $binsgn |
| #!/usr/bin/env sh | |
| filepath=${1} | |
| signature=${2:-"signature.txt"} | |
| pubkey=${3:-"public_key.pem"} | |
| binsgn="${signature}.bin" | |
| openssl base64 -d -in $signature -out $binsgn | |
| openssl dgst -verify $pubkey \ | |
| -signature $binsgn $filepath | |
| rm -f $binsgn |