#!/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 # extract the pubkey, exponent, and priv key. pq=`openssl asn1parse -in $keybasename.pvk | awk "NR==3"|cut -d: -f4` e=`openssl asn1parse -in $keybasename.pvk | awk "NR==4"|cut -d: -f4` d=`openssl asn1parse -in $keybasename.pvk | awk "NR==5"|cut -d: -f4` if [ $e != "010001" ]; then echo error generating key, unexpected e value : $e exit 1 fi msg=`./sha256.exe $filename` echo "16 o 16 i $msg $d $pq |p"|dc|tr -d "\134\n" > $filename.sig