2013-08-09 09:33:45 +00:00
|
|
|
#!/bin/bash
|
|
|
|
# extract ascii armored signature from a PE binary
|
|
|
|
set -e
|
|
|
|
|
|
|
|
infile="$1"
|
|
|
|
|
|
|
|
if [ -z "$infile" -o ! -e "$infile" ]; then
|
|
|
|
echo "USAGE: $0 file.efi"
|
|
|
|
exit 1
|
|
|
|
fi
|
|
|
|
|
|
|
|
nssdir=`mktemp -d`
|
|
|
|
cleanup()
|
|
|
|
{
|
|
|
|
rm -r "$nssdir"
|
|
|
|
}
|
|
|
|
trap cleanup EXIT
|
|
|
|
echo > "$nssdir/pw"
|
|
|
|
certutil -f "$nssdir/pw" -d "$nssdir" -N
|
|
|
|
|
|
|
|
# wtf?
|
|
|
|
(pesign -n "$nssdir" -h -P -i "$infile";
|
2013-09-17 09:17:43 +00:00
|
|
|
perl $(dirname $0)/timestamp.pl "$infile";
|
2013-08-09 09:33:45 +00:00
|
|
|
pesign -n "$nssdir" -a -f -e /dev/stdout -i "$infile")|cat
|