#!/bin/sh filename=$1 if [ -z $filename ]; then echo "Usage: sign_file.sh filename [ keyfile ]" exit 1 fi keybasename=$2 if [ -z $keybasename ]; then keybasename=key keybasename=`echo $keybasename|sed "s/\.[a-z]*$//"` fi pq=`cat $keybasename.pub` e="010001" hash=`./sha256.exe $filename` if [ -z $hash ]; then echo "error calculating sha256 of $filename" exit 1 fi sig=`cat $filename.sig` if [ -z $sig ]; then echo "could not find signature file $filename.sig" exit 1 fi result=`echo "16 o 16 i $sig $e $pq | $hash - p"|dc` if [ "$result" != "0" ]; then echo signature mismatch exit 1 fi