Scrivo delle incongruenze che riscontro tra la gestione della firma digitale e il codice dell’amministrazione digitale. Ricordo che nel codice dell’amministrazione digitale si parla di una preferenza per i software open source e di riuso del software. Invece tutti i software esistenti per la gestione della firma digitale sono tutti closed source e usano (sfruttano) librerie come openssl e qt per esempio che invece sono open source.
http://www.digitpa.gov.it/principali-attivit%C3%A0/riuso-del-software
I software naturalmente sono sviluppati da aziende italiane che offrono versioni limitate per uso personale gratuite (non open source naturalmente) e versioni più avanzate a pagamento. A questo proposito mi chiedo, se la firma digitale deve essere usata nelle pubbliche amministrazioni, come fa la DigiPA a consigliare per le pubbliche amministazioni un software gratuito, ma solo per uso personale, se nelle pubbliche amministrazioni l’uso non è personale? BOH!
I software di cui sto parlando sono:
- Comped DigitalSign
- Postecom Firma OK
- Digitaltrust Sign’ncryptil
- Intesi Group PkNet
- Infocert DIKE
- Primeur Security Service DSTK
tra l’altro consigliati dalla DigitPA che dovrebbe essere promotrice del software open source e del riuso del software. Poi la DigitPA specifica che è possibile segnalare nuovi software all’indirizzo pec cnipadir@cert.cnipa.it, e il bello è che specifica che devono essere gratuiti “per uso personale”, non gratuiti e basta, o open source.
Inoltre sempre per incentivare l’uso di sistemi operativi open source, pochi sono multipiattaforma.
Spinto da questo spirito tutto italiano, ho deciso di sviluppare qualcosa che segua le linee guida del codice dell’amministrazione digitale: del software open source per la firma digitale.
Per cominciare ho sviluppato un semplice script perl che con openssl estrae i documenti originali da quelli firmati con estensione .p7m presenti in una cartella, quindi non uno per volta come fanno i programmi consigliati dalla DigitPA.
Lo script l’ho messo in un progetto su google code a questo indirizzo:
http://extract-p7m.googlecode.com/svn/trunk/extract-p7m.pl
le istruzioni sono qui
http://extract-p7m.googlecode.com/svn/trunk/doc/readme.it.txt
questo è uno zip con script e istruzioni
http://extract-p7m.googlecode.com/files/extract-p7m-0.1.0.zip
Il progetto si chiama extract-p7m:
http://code.google.com/p/extract-p7m/
Lo script utilizza il comando openssl come consigliato da Luca Regoli nel suo post Firma digitale: come si estrae il contenuto di un file firmato dal suo involucro P7M?
openssl.exe smime -verify -inform DER -in “pippo.tif.p7m” -noverify -out “pippo.tif”
Ho creato un altro script per i pdf che ho messo su hotfile:
http://hotfile.com/dl/131105572/d279f2a/extract-pdf-p7m.pl.html
questo ha bisogno solo del Perl ma non effettua nessuna verifica e funziona solo per i file pdf (i file possono avere un numero qualsiasi di livelli di firma, l’importante che abbiano l’estensione .pdf.p7m)
Per ora c’è solo questo script, ma penso di creare una interfaccia grafica in pygtk (multipiattaforma) che consenta di aprire più file in contemporanea, vederne le informazioni e farne la verifica ed estrarne il contenuto (uno o più file contemporaneamente).
10/10/2011: ho cominciato a sviluppare l’interfaccia grafica in pygtk, l’indirizzo su google code è questo:
http://code.google.com/p/si-e-na/
si-e-na sta per Si.E.Na: signature extractor and navigator.