commit | author | age
|
40c12d
|
1 |
#!/bin/bash |
JK |
2 |
|
|
3 |
set -e |
|
4 |
|
|
5 |
echoCyan() { |
|
6 |
echo -n -e "\e[96m" |
|
7 |
echo -n "$@" |
|
8 |
echo -e "\e[0m" |
|
9 |
} |
|
10 |
|
|
11 |
checkCommand() { |
|
12 |
echo "$@..." |
|
13 |
command -v "$@" > /dev/null 2>&1 || { echo "$@ not found"; exit 1; } |
|
14 |
} |
|
15 |
|
|
16 |
echoCyan "Checking prerequisites..." |
|
17 |
checkCommand wget |
|
18 |
checkCommand 7z |
|
19 |
checkCommand sha256sum |
|
20 |
checkCommand sed |
|
21 |
checkCommand java |
|
22 |
echo |
|
23 |
|
|
24 |
echoCyan "Creating temporary directory..." |
|
25 |
TEMP_DIR="`mktemp -d`" |
|
26 |
if [ -z "${TEMP_DIR}" -o ! -d "${TEMP_DIR}" ]; then |
|
27 |
echo "Could not create temporary directory!" |
|
28 |
exit 1 |
|
29 |
fi |
|
30 |
echo "${TEMP_DIR}" |
|
31 |
cd "${TEMP_DIR}" |
|
32 |
echo |
|
33 |
|
|
34 |
cleanup() { |
|
35 |
echoCyan "Cleaning up..." |
|
36 |
rm -rfv "${TEMP_DIR}" |
|
37 |
} |
|
38 |
trap cleanup EXIT |
|
39 |
|
|
40 |
echoCyan "Downloading Szafir Host...." |
b74eb8
|
41 |
wget -N "http://www.elektronicznypodpis.pl/gfx/elektronicznypodpis/pl/defaultstronaopisowa/146/1/1/szafirhost.msi" |
40c12d
|
42 |
echo |
JK |
43 |
|
|
44 |
echoCyan "Verifying checksum..." |
|
45 |
echo "26326be947794499266627684e9309941f17780e3a7bab7e5bf48b2417d44842 szafirhost.msi" > SHA256SUM |
|
46 |
sha256sum -c SHA256SUM |
|
47 |
echo |
|
48 |
|
b74eb8
|
49 |
echoCyan "Extracting data..." |
JK |
50 |
7z x szafirhost.msi |
|
51 |
echo |
|
52 |
|
40c12d
|
53 |
echoCyan "Preparing Chrome Messaging Host adapter..." |
JK |
54 |
CHROME_DIR=szafir-native-messaging-host |
|
55 |
mkdir "${CHROME_DIR}" |
|
56 |
INSTALL_DIR="${HOME}/.config/chromium/NativeMessagingHosts" |
|
57 |
ESCAPED_INSTALL_DIR="${INSTALL_DIR////\\/}" |
|
58 |
cp filF5D04DB8D607CF8ECF8B704134B04A67 "${CHROME_DIR}/SzafirHost.jar" |
|
59 |
cp filE5B77E2AFEA85AA1CA660D45949DB769 "${CHROME_DIR}/pl.com.kir.szafirhost.json" |
|
60 |
sed -i "s/szafir-native-messaging-host\\.bat/${ESCAPED_INSTALL_DIR}\\/szafir-native-messaging-host.sh/" "${CHROME_DIR}/pl.com.kir.szafirhost.json" |
|
61 |
cat <<'EOF' > "${CHROME_DIR}/szafir-native-messaging-host.sh" |
|
62 |
#!/bin/bash |
|
63 |
|
|
64 |
DIR=`dirname "$0"` |
|
65 |
cd "$DIR" |
|
66 |
java -jar SzafirHost.jar "$@" |
|
67 |
EOF |
|
68 |
chmod +x "${CHROME_DIR}/szafir-native-messaging-host.sh" |
|
69 |
echo |
|
70 |
|
|
71 |
echoCyan "Installing Chrome Messaging Host adapter..." |
|
72 |
mkdir -p "${INSTALL_DIR}" |
|
73 |
cp -Rfv "${CHROME_DIR}"/* "${INSTALL_DIR}/" |
|
74 |
echo |
|
75 |
|
|
76 |
cleanup |
|
77 |
trap - EXIT |
|
78 |
echo |
|
79 |
|
|
80 |
echo -n -e "\e[92m" |
|
81 |
echo -n "ALL DONE!" |
|
82 |
echo -e "\e[0m" |
|
83 |
echo |
|
84 |
echo -n -e "\e[93m" |
|
85 |
echo -n "Remember to copy your PKCS#11 library to /usr/lib!" |
|
86 |
echo -e "\e[0m" |
|
87 |
echo |
b4f5fb
|
88 |
echo "Example #1 (pue.zus.pl):" |
40c12d
|
89 |
echo "sudo cp ~/local/proCertumSmartSign/libcryptoCertum3PKCS.so /usr/lib/" |
b4f5fb
|
90 |
echo "Example #2 (wfirma.pl):" |
33405b
|
91 |
echo "sudo cp ~/local/proCertumSmartSign/libcryptoCertum3PKCS.so /usr/lib/cryptoCertumPKCS11.dll" |
b4f5fb
|
92 |
echo "Example #3 (pue.uke.gov.pl):" |
JK |
93 |
echo "sudo cp ~/local/proCertumSmartSign/libcryptoCertum3PKCS.so /usr/lib/cryptoCertum3PKCS.dll" |