giovedì 14 ottobre 2021

 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


Nessun commento:

Posta un commento

usare Git impostato su un server tor

Se abbiamo un repository su un server tor potrebbe sembrare impossibili fare clone push e pull del repository stesso in realta è molto piu...