#!/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" echo echoCyan "Verifying checksum..." echo "26326be947794499266627684e9309941f17780e3a7bab7e5bf48b2417d44842 szafirhost.msi" > SHA256SUM sha256sum -c SHA256SUM echo echoCyan "Extracting data..." 7z x szafirhost.msi 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. (pue.zus.pl):" echo "sudo cp ~/local/proCertumSmartSign/libcryptoCertum3PKCS.so /usr/lib/" echo "Eg. (wfirma.pl):" echo "sudo cp ~/local/proCertumSmartSign/libcryptoCertum3PKCS.so /usr/lib/cryptoCertumPKCS11.dll"