Η διαδικασία απαιτεί μια σειρά από βήματα για την εγκατάσταση των drivers της Gemalto που θα επιτρέψουν την εφαρμογή να χρησιμοποιήσει την κρυπτογραφική συσκευή της ακαδημαϊκής κάρτας προσωπικού (academicId):
- Προετοιμασία - εγκατάσταση προαπαιτούμενων βιβλιοθηκών και εγκατάσταση gemalto drivers (δειίτε αναλυτικά τις επόμενες ενότητες)
- Εκτέλεση της εφαρμογής LinuxGradesDigitalSigning που πρέπει να τρέχει κάθε φορά που υποβάλλουμε βαθμούς
- Αυτοματοποίηση της έναρξης της εφαρμογής μέσω του browser (προαιρετικά)
Ακολουθούν λεπτομερείς οδηγίες για κάθε υποστηριζόμενο Linux flavour και στο τέλος οδηγίες για την εκτέλεση και αυτοματοποίηση της έναρξης της εφαρμογής.
ΠΡΟΣΟΧΗ: Λάβετε υπόψη ότι λόγω του πολύ εξειδικευμένου αντικειμένου αυτού του εγχειριδίου, η ομάδα υπστήριξης χρηστών του ΚΗΔ δεν παρέχει τεχνική βοήθεια σε αυτά τα θέματα. Μπορείτε να ακολουθήσετε τις οδηγίες αυτές στο βαθμό που το επιτρέπουν οι τεχνικές σας γνώσεις.
Για εγκατάσταση σε Ubuntu 20.04 ανοίγουμε το Terminal και γράφουμε τις παρακάτω εντολές.
Εγκατάσταση προαπαιτούμενων βιβλιοθηκών για χειρισμό usb κρυπτογραφικών συσκευών
sudo apt-get install libusb-dev libusb++-0.1-4 libccid pcscd libpcsclite1 libpcsclite-dev wget http://ftp.us.debian.org/debian/pool/main/g/glibc/multiarch-support_2.28-10_amd64.deb
Εγκατάσταση της βιβλιοθήκης libssl1.0.0 (η νεώτερη libssl1.1 δεν αναγνωρίζεται)
sudo dpkg -i ./multiarch-support_2.28-10_amd64.deb wget http://security.debian.org/debian-security/pool/updates/main/o/openssl/libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb sudo dpkg -i ./libssl1.0.0_1.0.1t-1+deb8u12_amd64.deb
Εγκατάσταση Gemalto drivers
wget https://www.luxtrust.lu/downloads/middleware/LuxTrust_Middleware_1.2.1_Ubuntu_64bit.tar.gz tar -xvf ./LuxTrust_Middleware_1.2.1_Ubuntu_64bit.tar.gz sudo apt-get install libtinfo5 libncurses5 libqt5core5a libqt5gui5 libqt5widgets5 sudo dpkg -i ./Gemalto_Middleware_Ubuntu_64bit_7.2.0-b04.deb sudo dpkg -i ./luxtrust-middleware-1.2.1-64.deb (προαιρετικό)
Θα πρέπει να έχει δημιουργηθεί η βιβλιοθήκη
/usr/lib/pkcs11/libgclib.so
Εγκατάσταση προαπαιτούμενων βιβλιοθηκών
sudo dnf install @development-tools libusb-devel libusb pcsc-lite-ccid opensc pcsc-lite pcsc-lite-devel
Εγκατάσταση Gemalto drivers
wget https://www.luxtrust.lu/downloads/middleware/LuxTrust_Middleware_1.2.1_Fedora_64bit.tar.gz tar -xvf LuxTrust_Middleware_1.2.1_Fedora_64bit.tar.gz sudo dnf install ./Gemalto_Middleware_Fedora_64bit_7.2.0-b04.rpm sudo dnf install ./luxtrust-middleware-1.2.1-64.rpm
Θα πρέπει να έχει δημιουργηθεί η βιβλιοθήκη
/usr/lib/pkcs11/libgclib.so
Εγκατάσταση προαπαιτούμενων βιβλιοθηκών σε openSUSE Tumbleweed
sudo zypper install libusb-devel libusb pcsc-ccid opensc pcsc-lite pcsc-lite-devel
Εγκατάσταση Gemalto drivers
wget https://www.luxtrust.lu/downloads/middleware/LuxTrust_Middleware_1.2.1_Opensuse_64bit.tar.gz tar -xvf LuxTrust_Middleware_1.2.1_Fedora_64bit.tar.gz sudo zypper install libQt5Core5 libQt5Gui5 libQt5Widgets5 libncurses5 sudo zypper in libopenssl1_0_0 sudo ln -s /usr/lib64/libcrypto.so.1.0.0 libcrypto.so.1.0.0 sudo zypper install libqt4-x11 (σε openSUSE Leap) sudo zypper addrepo https://download.opensuse.org/repositories/KDE:/Qt/openSUSE_Factory/ KDE && sudo zypper install libqt4 ibqt4-devel sudo rpm -i ./Gemalto_Middleware_opensuse42.1_64bit_7.2.0-b04.rpm sudo rpm -i ./luxtrust-middleware-1.2.1-64.rpm
Θα πρέπει να έχει δημιουργηθεί η βιβλιοθήκη
/usr/lib/pkcs11/libgclib.so
wget https://gitlab.com/universis/digital-signing-native-app/-/raw/master/Native%20App/artifacts/LinuxGradesDigitalSigning
Δίνουμε την δυνατότητα να το εκτελσουμε:
chmod u+x LinuxGradesDigitalSigning
Τώρα το τρέχουμε
./LinuxGradesDigitalSigning
και εφόσον βρίσκει σωστά εγκατεστημένα τις παραπάνω βιβλιοθήκες και drivers και να αναφέρει στα logs
Loaded library: /usr/lib/pkcs11/libgclib.so
και στη συνέχεια να ανοίγει κανονικά παράθυρο με μήνυμα "Ready to sign".
Αυτό το κομμάτι των οδηγιών ως εδώ, αρκεί για να υπογράψει κανείς ψηφιακά τις υποβολές βαθμολογίων αφού εκκινήσει μόνος του την εφαρμογή στο λειτουργικό σύστημα και μετά επισκεφθεί στο faculty.auth.gr.
Αλλά αν θέλουμε να αυτοματοποιήσουμε τη διαδικασία έναρξης της εφαρμογής, ώστε να ανοίγει αυτόματα όταν πάμε στο faculty.auth.gr να καταθέσουμε ένα βαθμολόγιο, ώστε να μην χρειάζεται να βρούμε κάθε φορά εμείς την εφαρμογή και να την εκτελέσουμε, τότε μπορούμε να ακολουθήσουμε και τα επόμενα βήματα για εγκατάσταση browser plugins που εκκινούν αυτόματα την εφαρμογή Grades Digital Signing.
Οι οδηγίες στην ενότητα αυτή αφορούν στην εγκατάσταση browser plugins που εκκινούν αυτόματα την εφαρμογή Grades Digital Signing όταν πάμε στο faculty.auth.gr να καταθέσουμε ένα βαθμολόγιο.
Ανάλογα με τον browser που χρησιμοποιούμε ακολουθούμε τα παρακάτω για να ρυθμίσουμε τον κάθε browser να εκτελέσει με μία εξωτερική του εφαρμογή, το LinuxGradesDigitalSigning.
Chrome:
Εγκαθιστούμε το ειδικό plugin από το Chrome web store
https://chrome.google.com/webstore/detail/universis-grade-digital-s/jmclhkincdmjmogoldacphpaakicncda
Κατεβάζουμε το αρχείο ρύθμισης για το Chrome Native Messaging σε συγκεκριμένο path
wget https://gitlab.com/universis/digital-signing-native-app/-/raw/master/Browser%20Extension/windows%20prerequsites/chrome_native_messaging_manifest.json
Αλλάζουμε μέσα στο αρχείο αυτό το πεδίο "path" με την τοποθεσία που κατεβάσαμε και εγκαταστήσαμε το LinuxGradesDigitalSigning
cp /path/to/chrome_native_messaging_manifest.json /etc/opt/chrome/native-messaging-hosts/io.universis.grades_sign.json
Αντικαθιστούμε το /path/to/ με την πραγματική τοποθεσία όπου αποθηκεύσαμε το chrome_native_messaging_manifest.json όταν το κατεβάσαμε παραπάνω.
Firefox:
Εγκαθιστούμε το ειδικό plugin για το Firefox από τον σύνδεσμο
https://it.auth.gr/sites/default/files/downloads/universis_dig_signing_plugin-1.1.3-fx.xpi#overlay-context=el/node/4986
Κατεβάζουμε το αρχείο ρύθμισης για το Firefox Native Messaging σε συγκεκριμένο path
wget https://gitlab.com/universis/digital-signing-native-app/-/raw/master/Browser%20Extension/windows%20prerequsites/firefox_native_messaging_manifest.json
Αλλάζουμε μέσα στο αρχείο αυτό το πεδίο "path" με την τοποθεσία που κατεβάσαμε και εγκαταστήσαμε το LinuxGradesDigitalSigning
Αντικαθιστούμε στο πεδίο allowed_extensions την τιμή a1cb2285-a83c-4dc0-a054-a667f895596a με grade_signing@universis.io
cp /path/to/firefox_native_messaging_manifest.json /usr/{share, lib64}/mozilla/native-messaging-hosts/io.universis.grades_sign.json
Αντικαθιστούμε το /path/to/ με την πραγματική τοποθεσία όπου αποθηκεύσαμε το firefox_native_messaging_manifest.json όταν το κατεβάσαμε παραπάνω.
Σε ubuntu πρέπει να είναι /usr/share ενώ σε fedora και openSUSE /usr/lib64/