#!/bin/bash
|
|
set -e
|
|
echoCyan() {
|
echo -n -e "\e[96m"
|
echo -n "$@"
|
echo -e "\e[0m"
|
}
|
|
checkCommand() {
|
echo "$@..."
|
command -v "$@" > /dev/null 2>&1 || { echo "$@ not found"; exit 1; }
|
}
|
|
echoCyan "Checking prerequisites..."
|
checkCommand wget
|
checkCommand 7z
|
checkCommand sha256sum
|
checkCommand sed
|
checkCommand java
|
echo
|
|
echoCyan "Creating temporary directory..."
|
TEMP_DIR="`mktemp -d`"
|
if [ -z "${TEMP_DIR}" -o ! -d "${TEMP_DIR}" ]; then
|
echo "Could not create temporary directory!"
|
exit 1
|
fi
|
echo "${TEMP_DIR}"
|
cd "${TEMP_DIR}"
|
echo
|
|
cleanup() {
|
echoCyan "Cleaning up..."
|
rm -rfv "${TEMP_DIR}"
|
}
|
trap cleanup EXIT
|
|
echoCyan "Downloading Szafir Host...."
|
#wget -N "http://www.elektronicznypodpis.pl/gfx/elektronicznypodpis/pl/defaultstronaopisowa/146/1/1/szafirhost.msi"
|
cp /tmp/szafirhost.msi .
|
echo
|
|
echoCyan "Extracting data..."
|
7z x szafirhost.msi
|
echo
|
|
echoCyan "Verifying checksum..."
|
echo "26326be947794499266627684e9309941f17780e3a7bab7e5bf48b2417d44842 szafirhost.msi" > SHA256SUM
|
sha256sum -c SHA256SUM
|
echo
|
|
echoCyan "Preparing Chrome Messaging Host adapter..."
|
CHROME_DIR=szafir-native-messaging-host
|
mkdir "${CHROME_DIR}"
|
INSTALL_DIR="${HOME}/.config/chromium/NativeMessagingHosts"
|
ESCAPED_INSTALL_DIR="${INSTALL_DIR////\\/}"
|
cp filF5D04DB8D607CF8ECF8B704134B04A67 "${CHROME_DIR}/SzafirHost.jar"
|
cp filE5B77E2AFEA85AA1CA660D45949DB769 "${CHROME_DIR}/pl.com.kir.szafirhost.json"
|
sed -i "s/szafir-native-messaging-host\\.bat/${ESCAPED_INSTALL_DIR}\\/szafir-native-messaging-host.sh/" "${CHROME_DIR}/pl.com.kir.szafirhost.json"
|
cat <<'EOF' > "${CHROME_DIR}/szafir-native-messaging-host.sh"
|
#!/bin/bash
|
|
DIR=`dirname "$0"`
|
cd "$DIR"
|
java -jar SzafirHost.jar "$@"
|
EOF
|
chmod +x "${CHROME_DIR}/szafir-native-messaging-host.sh"
|
echo
|
|
echoCyan "Installing Chrome Messaging Host adapter..."
|
mkdir -p "${INSTALL_DIR}"
|
cp -Rfv "${CHROME_DIR}"/* "${INSTALL_DIR}/"
|
echo
|
|
cleanup
|
trap - EXIT
|
echo
|
|
echo -n -e "\e[92m"
|
echo -n "ALL DONE!"
|
echo -e "\e[0m"
|
echo
|
echo -n -e "\e[93m"
|
echo -n "Remember to copy your PKCS#11 library to /usr/lib!"
|
echo -e "\e[0m"
|
echo
|
echo "Eg.:"
|
echo "sudo cp ~/local/proCertumSmartSign/libcryptoCertum3PKCS.so /usr/lib/"
|