Firma digitale su Linux
(aggiornamento maggio 2023)
Vediamo come riuscire ad utilizzare la firma digitale su Linux, ad esempio per firmare documenti da inviare al proprio comune.
Innanzitutto è stato necessario recarsi in comune o asl o forse anche tramite sito regione lombardia per i lombardi per abilitare la carta nazionale servizi (codice fiscale, tessera sanitaria) alla firma digitale. Fatta la richiesta, si ottiene il codice pin.
Purtroppo il lettore usato non ha una configurazione plug & play su linux, si tratta di un vecchio Manhattan.
Queste le istruzioni per renderlo funzionante, distribuzione linux mint 20.2 64 bit
Una volta inserito nella porta usb, il comando lsusb restituisce questo id:
Bus 002 Device 002: ID 0ca6:0010 Castles Technology Co., Ltd EZUSB PC/SC Smart Card Reader
https://www.castlestech.com/it/products/ez100-series/
Andiamo a scaricare il driver da questo indirizzo
https://www.castlestech.com/wp-content/uploads/2016/08/201511920271676073.zip
unzip 201511920271676073.zip
unzip EZUSB_Linux_x86_64_v1.5.3.zip (nel caso di sistema operativo a 64 bit)
cd driver_ezusb_v1.5.3_for_64_bit
Installiamo il demone pcscd che serve per accedere alle smart card
sudo apt install pcscd
controlliamo che tutte le dipendenze sian soddisfatte:
sh ./check_env
in caso positivo,
./install
[nuovo] installiamo un po' di dipendenze...
sudo apt-get install pcscd libpcsclite1 pcsc-tools libccid libnss3-tools opensc-pkcs1 opensc
il servizio non parte di default... sudo pcscd lo avvia
per rendere definitivo dovrebbe bastare, con sistemi systemd,
sudo systemctl enable pcscd.socket
ora è necessario installare i driver per la propria carta... dal sito agenzia entrate
https://sistemats1.sanita.finanze.it/portale/elenco-driver-cittadini-modalita-accesso
se la nostra cns è ACTALIS o OBERTHUR IDEMIA (fino 2019) e il nostro sistema linux 64 bit debian based, libbit4xpki-idemia-amd64.1.4.10-622.deb
se la carta è successiva (sulla carta stessa vicino al chip c'è scritto ST): SafeDive2022.zip ver 4.9.1
ho provato solo con il primo pacchetto debian...
ora installiamo il software per la firma digitale, Firma4NG di infocamere
https://id.infocamere.it/infocamere/download_software/download_software
Scarichiamo, scompattiamo ed eseguiamo
./setup.run -i
Per lanciarlo (viene comunque creata una entry nei menu) usiamo
/opt/Firma4NG/launcher_linux.com
Per firmare basta connettere il lettore, inserire la card come nella prima foto, premere su Firma, inserire il pin e es. per firmare un pdf scegliere firma invisibile e aggiunti al pdf.
|
Cifratura di un file pdf |
|
|
Cifratura di un qualsiasi tipo di file |
|
Se vogliamo abilitare l'accesso ai siti statali con la card al posto che con spid o altre soluzioni... con firefox dobbiamo andare su impostazioni - certificati - dispositivi di sicurezza ( about:preferences#privacy ), nuovo modulo PKCS#11 , scegliere nella parte destra il pulsante carica, e inseirire, per le card non STM, questo collegamento: /usr/lib/x86_64-linux-gnu/pkcs11/opensc-pkcs11.so .
Chromium ecc. non provati.
Per le tessere stm è necessario eseguite lo script contenuto nell'archivio, solo per sistemi x64 ubuntu a quanto pare...
estratto del readme...
=========================================
SafeDive 2022 ver. 4.9.1 Setup Ubuntu x64
=========================================
Prerequisiti:
1)libpcsclite1_1.8.23-1_amd64
2)OpenSSL 1.1.1k
Questi due pacchetti dovrebbero essere già presenti su un'installazione Ubuntu.
Per verificarlo, da terminale eseguire, come amministratore di sistema ("sudo su"), i comandi:
a. dpkg -s openssl
b. dpkg -s libpcsclite1
La libreria libcrypto.so.1.1.1 contenuta in OpenSSL è disponibile nella cartella /outerlibs del presente pacchetto di installazione.
Installazione di SafeDive 2022 ver. 4.9.0:
1) Aprire il terminale (utente NO ROOT), posizionarsi nella cartella dove si trova il file "SafeDive2022-4.9.0_x64.sh" ed eseguire il comando:
./SafeDive2022-4.9.0_x64.sh --target "percorso_della_cartella_di_installazione".
Per eseguire l'applicazione PIN Manager:
1) Aprire la cartella di installazione e fare doppio click sul file "PIN Manager" per avviare l'applicazione.
In alternativa:
1) Fare click sul file "PIN Manager" con il tasto destro del mouse e selezionare "Proprietà".
2) Nel tab "Permessi" accertarsi che il flag "Consenti l'esecuzione del file come programma" sia selezionato.
3) Fare doppio click sul file "PIN Manager" per avviare l'applicazione.
oppure
1) Fare click sul file "go.sh" con il tasto destro del mouse e selezionare "Proprietà".
2) Nel tab "Permessi" accertarsi che il flag "Consenti l'esecuzione del file come programma" sia selezionato.
3) Eseguire il file "go.sh" da da riga di comando (terminale).
Creazione del file di log:
1) Creare la cartella "stP11Logs" sotto la cartella /tmp lanciando il comando "mkdir /tmp/stP11Logs".
2) Fornire alla cartella creata al punto 1 i diritti in scrittura lanciando il comando "chmod 777 /tmp/stP11Logs"
In caso di problemi o per ulteriori informazioni, far riferimento al file SafeDive-Guida-Problemi.pdf
Complicato? io direi troppo.
Buone firme, un saluto da Giulio