mirror of
https://github.com/mtrojnar/osslsigncode.git
synced 2025-04-04 08:50:12 -05:00
91 lines
2.6 KiB
Bash
Executable File
91 lines
2.6 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
if [ -z "$(command -v keytool)" ]; then
|
|
printf "%s\n" "keytool was not found in the \$PATH"
|
|
printf "%s\n" "Please install the default-jre-headless package"
|
|
exit 1
|
|
fi
|
|
|
|
rm -f putty*.exe
|
|
|
|
PUTTY_URL="http://the.earth.li/~sgtatham/putty/0.64/x86/putty.exe"
|
|
[ -f putty.exe ] || wget -q -O putty.exe $PUTTY_URL
|
|
[ -f putty.exe ] || curl -o putty.exe $PUTTY_URL
|
|
|
|
if [ ! -f putty.exe ]; then
|
|
echo "FAIL: Couldn't download putty.exe"
|
|
exit 1
|
|
fi
|
|
|
|
rm -f cert.pem cert.spc key.der key.p12 key.pem key.pvk keyp.pem
|
|
|
|
keytool -genkey \
|
|
-alias selfsigned \
|
|
-keysize 2048 \
|
|
-keyalg RSA \
|
|
-keypass passme \
|
|
-storepass passme \
|
|
-keystore key.ks << EOF
|
|
John Doe
|
|
ACME In
|
|
ACME
|
|
Springfield
|
|
LaLaLand
|
|
SE
|
|
yes
|
|
EOF
|
|
|
|
echo "Converting key/cert to PKCS12 container"
|
|
keytool -importkeystore \
|
|
-srckeystore key.ks \
|
|
-srcstoretype JKS \
|
|
-srckeypass passme \
|
|
-srcstorepass passme \
|
|
-srcalias selfsigned \
|
|
-destkeystore key.p12 \
|
|
-deststoretype PKCS12 \
|
|
-destkeypass passme \
|
|
-deststorepass passme
|
|
|
|
rm -f key.ks
|
|
|
|
echo "Converting key to PEM format"
|
|
openssl pkcs12 -in key.p12 -passin pass:passme -nocerts -nodes -out key.pem
|
|
echo "Converting key to PEM format (with password)"
|
|
openssl rsa -in key.pem -out keyp.pem -passout pass:passme
|
|
echo "Converting key to DER format"
|
|
openssl rsa -in key.pem -outform DER -out key.der -passout pass:passme
|
|
echo "Converting key to PVK format"
|
|
openssl rsa -in key.pem -outform PVK -pvk-strong -out key.pvk -passout pass:passme
|
|
|
|
echo "Converting cert to PEM format"
|
|
openssl pkcs12 -in key.p12 -passin pass:passme -nokeys -out cert.pem
|
|
echo "Converting cert to SPC format"
|
|
openssl crl2pkcs7 -nocrl -certfile cert.pem -outform DER -out cert.spc
|
|
|
|
make -C ..
|
|
../osslsigncode sign -spc cert.spc -key key.pem putty.exe putty1.exe
|
|
../osslsigncode sign -certs cert.spc -key keyp.pem -pass passme putty.exe putty2.exe
|
|
../osslsigncode sign -certs cert.pem -key keyp.pem -pass passme putty.exe putty3.exe
|
|
../osslsigncode sign -certs cert.spc -key key.der putty.exe putty4.exe
|
|
../osslsigncode sign -pkcs12 key.p12 -pass passme putty.exe putty5.exe
|
|
../osslsigncode sign -certs cert.spc -key key.pvk -pass passme putty.exe putty6.exe
|
|
|
|
rm -f cert.pem cert.spc key.der key.p12 key.pem key.pvk keyp.pem
|
|
|
|
echo
|
|
|
|
check=`sha1sum putty[1-9]*.exe | cut -d' ' -f1 | uniq | wc -l`
|
|
cmp putty1.exe putty2.exe && \
|
|
cmp putty2.exe putty3.exe && \
|
|
cmp putty3.exe putty4.exe && \
|
|
cmp putty4.exe putty5.exe && \
|
|
cmp putty5.exe putty6.exe
|
|
if [ $? -ne 0 ]; then
|
|
echo "Failure is not an option."
|
|
exit 1
|
|
else
|
|
echo "Yes, it works."
|
|
fi
|
|
|