Il 16/10/20 18:48, Giovanni Biscuolo ha scritto:
Buongiorno nexiane,
approfitto del fatto che in lista ci sono esperti di firma elettronica per condividere la mia piccola esperienza di utente che vorrebbe firmare e verificare i documenti con LibreOffice (in PAdES o XAdES ma tanto quest'ultimo non se lo fila nessuno... mi pare).
Scrivo qui perché mi auguro possa essere di interesse generale, scusate se approfitto: so bene che non è una lista di supporto utenti!
Mi sento un pochino chiamato in causa ;-) . In realtà mi sembra che le cose che chiedi non siano di "supporto" (di cosa poi? LibO, Firefox, altro ...) ma ragionevoli domande di qualcuno che intenda usare sw libero per firmare digitalmente usando un token.
Comunque, dopo un po' di ricerche e tribolazioni per far funzionare lo sblocco della smartcard via PIN, sono riuscito a configurare due browser (Firefox e Ungoogled-Chromium) e per usarla come mezzo di autenticazione per firmare con Libreoffice.
Qui serve un chiarimento: storicamente LibO (e OOo ancora prima quando i due non erano ancora progetti distinti) si è sempre appoggiato al sistema di gestione di Mozilla per accedere a chiavi e certificati, sia su file che su token crittografici PKCS11 (come smartcard e token usb). Quindi per gestire i token occorre avere installata anche una versione recente di Thunderbird o Firefox. Nelle opzioni di LibO (Sicurezza) è possibile anche scegliere il profilo utente specifico di Firefox o Thunderbird che ha configurati i certificati personali che servono. A sua volta Mozilla si appoggia all'api PKCS11 per riconoscere il token. Occorre caricare la relativa libreria nella sezione "Certificati" la libreria pkcs11 che gestisce il proprio token. Se si vuole firmare con valore massimo (firma qualificata) con i token disponibil qui in Italia è *indispensabile* usare la libreria proprietaria fornita a corredo con il token, dato che da noi è invalsa l'abitudine di annegare chiavi simmetriche 3DES nel binario dell'applicazione per crittare il colloquio tra token e terminale (Secure Messaging). Le implementazioni PKCS11 in sw libero (come la opensc-pkcs11 di OpenSC) funzionano solo parzialmente, permettendo di "vedere" le sole chiavi e certificati usabili per autenticazione (e non quelle per sottoscrizione). Queste chiavi non sono soggette in genere a Secure Messaging.
La prima cosa che ho notato è che la mia firma *non* era considerata valida e dopo pochissimo mi sono reso conto che Infocert, ovvero chi ha fornito le mie chiavi private, è *assente* dall'elenco delle Authorities ufficialmente riconosciute da Firefox (Libreoffice usa il database di Firefox): è un mio problema o davvero ciascun utente deve importare "a mano" le CA per poter verificare la firma.
Comunque sia una volta importati "a mano" un paio di certificati di Infocert [1] ho potuto verificare come valide le firma fatte da me :-D
Le CA reperibili a questa pagina: "Infocert Servizi di Certificazione ..." sono relative alle chiavi e certificati di Autenticazione, quindi non a quelle di Sottoscrizione "InfoCert Firma Qualificata ..." Quindi le firme che hai verificato sono semplici firme digitali, ma non qualificate.
La cosa veramente buffa è che anche il mio collega ha un token per la firma con chiave emessa da Infocert nel 2018, anche lui può usarlo per firmare con Libreoffice... tranne che la sua firma non risulta verificata nemmeno dopo aver importato "a mano" i certificati [1]. Evidentemente nel frattempo Infocert ha sostituito i suoi certificati e io non so dove andare a prenderli :-O.
Immagino che sia così, ma senza l'Issuer è difficile dire qualcosa.
Dopo qualche ricerca ho trovato che AGID distribuisce i certificati [2] in formato XLS con schema TSL (Trust Service status List): https://eidas.agid.gov.it/TL/TSL-IT.xml
Esatto, lì trovi anche i certificati di Firma Qualificata.
Esiste anche un servizio web (software libero [3]) per consultare degli elenchi TSL pubblicati da ciascuno stato membro: https://webgate.ec.europa.eu/tl-browser/#/
C'è anche questo che permette di vedere via web le informazioni dettagliate di ciascun certificato: http://tlbrowser.tsl.website/tools/
Per favore sapete se esiste un tool per convertire gli XML il formato TSL nel formato PKCS#7 (quello importabile da NSS aka Mozilla Firefox)?
I certificati sono inclusi codificati base64 quindi basta un copia incolla aggiungendo header e footer per ottener il PEM. Puoi recuperare direttamente il PEM anche usando secondo tool che hai menzionato. ciao, rob PS: pur aggiungendo la libreria pkcs11 proprietaria corretta sono riuscito a firmare in libo solo con le chiavi di Autenticazione, mentre con quelle di sottoscrizione il programma si blocca.