#!/bin/bash die() { echo "$@" exit 1 } if [[ -z ${JAVA_HOME} ]] then die "No JAVA_HOME in environment defined. Please install sun-jdk!" fi COMMON_NAME="ESA" KEY_ALIAS="alx-web" KEY_EXPIRATION_TIME="365" JAR_FILES="vncviewer.jar mindterm.jar" echo -n "Please enter the keystore password: " stty -echo read STOREPASS stty echo echo [[ -z ${STOREPASS} ]] && die "Keystore password is empty, aborting!" echo -n "Please enter the certificate key password: " stty -echo read KEYPASS stty echo echo [[ -z ${KEYPASS} ]] && die "Certificate key password is empty, aborting!" # check if key-alias was already generated ALREADY_EXIST=$(keytool -list -storepass "${STOREPASS}" | grep "^${KEY_ALIAS},") if [[ -z ${ALREADY_EXIST} ]] then echo "Generating signing key ..." keytool -dname "cn=${COMMON_NAME}" -validity "${KEY_EXPIRATION_TIME}" -genkey -storepass "${STOREPASS}" -keypass "${KEYPASS}" -alias "${KEY_ALIAS}" fi for jar in ${JAR_FILES} do echo "Removing old signing certificates from jar file ${jar} ..." TEMP="$(mktemp -d)" WWWDIR="$(pwd)" pushd "${TEMP}" jar -xf "${WWWDIR}"/"${jar}" mv -f "${WWWDIR}"/"${jar}" "${WWWDIR}"/"${jar}".old rm -f META-INF/*.SF META-INF/*.DSA jar -cf "${WWWDIR}"/"${jar}" . popd echo "Signing jar file ${jar} ..." jarsigner -storepass "${STOREPASS}" -keypass "${KEYPASS}" "${jar}" "${KEY_ALIAS}" echo "Verifing jar file ${jar} ..." jarsigner -storepass "${STOREPASS}" -keypass "${KEYPASS}" -verify "${jar}" done