lunedì 12 ottobre 2015

LinuxDay 2015

Programma del LinuxDay 2015 che si terrà presso il Centro giovanile di via Piersanti Mattarella ad Avola

Quest'anno si parlerà di:

  • LibreOffice
  • Gimp
  • Raspberry 2
  • Emulazione giochi su Gnu/Linux
  • Scratch

mercoledì 20 maggio 2015

PDF per tutti per tutti i gusti: gestire i file pdf su Linux



Coloro i quali si accingono a inserire nel proprio ambiente ufficio sanno che non possono fare a meno  del formato PDF (Portabile Document Format).

Creato nel 1993 dai laboratori Adobe, con l'intento di fornire un formato adatto a rapresentare fedelmente i documenti in modo indipendente dall'hardware e dal software, si è prima affermato come standard di fatto, e a partire dal 2007 è ufficialmente uno standard aperto ISO 32000.
L'importanza del formato PDF tuttavia è destinata ad accrescere nell'immediato futuro, anche in considerazione del sempre maggiore interesse per la conservazione e creazione del documento digitale da parte della Pubblica Amministrazione.

Benché sul formato PDF e sulla sua gestione in Linux siano dedicate numerose guide, lo scopo di questa vuole essere quello di fare ordine non limitandosi a recensire i migliori software ma fornire soluzioni pronte e veloci per affrontare le comuni criticità.



1. Il Lettore PDF

Adobe si è molto impegnata, già ben prima del suo ufficiale riconoscimento, a fare del PDF un formato aperto. Ciò ha consentito lo sviluppo di numerosissimi lettori indipendenti, spesso con interessanti caratteristiche, ragione per la quale anche su Linux non vi è che l'imbarazzo della scelta.

Il lettore ufficiale, Adobe Reader (ex Acrobat Reader) è stato sviluppato a fasi alterne, almeno fino a quando, in linea con il consueto e sempre più ingiustificato disinteresse di Adobe per il mondo Linux, lo sviluppo non si è arrestato del tutto. La versione ufficiale è ferma alla 9.5.5 senza alcuna localizzazione in italiano.
Funziona fino a Ubuntu 12.04 LTS, e si può scaricare qui. Per farla funzionare anche su Ubuntu 14.04 LTS sarà invece necessario osservare alcuni piccoli accorgimenti riportati in questa guida (in inglese).

Facciamo comunque presente che nella stragrande maggioranza dei casi andrà bene il lettore di default della vostra distro, che nel caso di Ubuntu è Evince (ex Gnomepdf), che si mostra veloce, scattante e costantemente mantenuto.





2. Unire, dividere e ruotare i pdf: PDF-Shuffler


Per questa tipologia di operazioni, contrariamente a quello che si potrebbe pensare, sono presenti nel panorama Linux numerose soluzioni, anche a riga di comando.
Tuttavia, quella che mi sento di consigliare, data la sua estrema leggerezza e semplicità è PDF-Shuffler.

Si tratta di un software dall'interfaccia grafica ridotta all'essenziale, con il quale potremo unire, ruotare ed eliminare pagine da un file .pdf.
Lo trovate comodamente nei PPA di Ubuntu:

sudo apt-get install pdfshuffler



PDF-Shutter, finestra principale



3. Trasformare un pdf a colori in bianco e nero

Può sembrara strana, l'esigenza di trasformare un documento a colori in bianco e nero torna utile, ogni volta che bisogna interfacciarsi con una Pubblica Amministrazione.

L'utility che consiglio, tra le altre, è tobw.

Si tratta di un tool a riga di comando, che tuttavia raccomando sia per la sua semplice sintassi, sia per evitare le macchinosità di Gimp, che è in grado di fare altrettanto.

Si procede come segue:

$ tobw filedaconvertire.pdf


Al termine dell'operazione verrà restituito, sotto forma di copia e all'interno della stessa cartella, il documento in b/n.




4. Da file immagine jpg a pdf

Probabilmente questa è una delle situazioni che più di ogni altra ci troviamo a dover gestire e, spesso complice la cattiva competenza informatica di qualche collega, può risultare molto fastidioso.

Installazione della suite ImageMagick
In questo caso, non esistendo ancora valide alternative grafiche, dovremo ricorrere alla riga di comando, e in modo particolare alla suite di utility di ImageMagick, che trovate nei PPA.
sudo apt-get install imagemagick
 

Alcune casistiche di maggiore frequenza:



L'utilizzo dell'utility "convert"
L'utility convert è uno dei componenti della suite ImageMagick.
La sintassi, particolarmente semplice, è la seguente:


$ convert immagine.jpg immagine.pdf

La caratteristica più interessante del comando convert è tuttavia la possibilità di trasformare contemporaneamente più immagini jpeg e contemporaneamente unirle in un unico file.
Molto comodo se, come purtroppo accade, il documento è composto da tanti jpeg quante sono le immagini.
In questo caso possiamo procedere in due modi.


Conversione simultanea di più immagini in un unico pdf
Il primo consiste nell'elencare a mano i file che ci interessa convertire, ed è utile sopratutto se si vuole rispettare un ordine preciso.
$ convert immagine1.jpg immagine2.jpg immagine3.jpg immagine.pdf


Se invece i file sono già ordinati in modo da rispecchiare la progressione delle pagine possiamo andare alla sbrigativa con il carattere jolly.

$ convert *.jpg immagine.pdf

Ridurre il peso e la dimensione delle immagini durante la conversione
Infine, particolarmente utile, specialmente se avete spazio limitato (come il caso delle "buste" del Processo Civile Telematico che devono sottostare al limite di 30 Mb), è possibile utilizzare l'opzione "-quality xx". Esempio:

$ convert immagine.jpg -quality 50 immagine.pdf
Tanto minore sarà il valore che attribuirete all'opzione quality, maggiore sarà il risparmio di spazio.


Conversione da jpeg a colori a pdf in bianco e nero
Come visto sopra, questa esigenza può tornare utile nel caso di invii alla Pubblica Amministrazione, in questo caso l'opzione è "monochrome". Esempio:
$ convert immagine.jpg -monochrome immagine.pdf


5. Acquisizione da scanner: Simple Scan


Simple Scan nasce come una versione minimalista dello storico XSane.

Probabilmente molti di voi lo utilizzano già, ed in ufficio si rivela decisivo in quanto può essere facilmente utilizzato anche da chi non ha nessuna dimistichezza informatica.

In fase di acquisizione è possibile ritagliare e ruotare i documenti, ricordatevi solo di scegliere il formato pdf al momento della fase salvataggio.

E' possibile creare pdf multipagina semplicemente scansionando più pagine all'interno della medesima sessione.




Naturalmente il suo utilizzo presuppone che il vostro scanner sia supportato da Linux e, se necessario, appositamente configurato con i driver adatti, in quanto Simple Scan funge solo da interfaccia grafica di questi ultimi.

giovedì 19 febbraio 2015

Processo Civile Telematico: guida al calcolo dell'hash (o impronta)

L'11 febbraio 2015 è entrato in vigore il D.P.C.M. 13.11.2014 che nel predisporre nuove regole tecniche relative all'attuazione del Codice dell’Amministrazione Digitale (CAD – D.Lgs. 82/2005) ha aggiunto un altro tassello alla digitalizzazione dell'apparato amministrativo statale.

Il regolamento (artt. 4 e 6) al fine di garantire con certezza assoluta la rispondenza della copia all'originale (degli atti nativi digitali e di quelli acquisiti da supporto analogico), detta nuove regole che trovano applicazione (benché la questione sia ad oggi controversa) anche nel più ampio contesto del Processo Civile Telematico.

Pertanto, gli avvocati che si avvalgono della facoltà di notificare in proprio a mezzo PEC (il D.L. 90/2014, che ha modificato l'art. 1 della l. 53/1994, ha abolito la preventiva autorizzazione del COA), dovranno attenersi a nuove modalità operative, che consistono nel calcolo dell'hash (o "impronta" come la chiamano le fonti legislative) del documento informatico e nella sua menzione nella relata di notifica.

Per quanto riguarda gli aspetti strettamente giuridici della questione rinvio ai numerosi siti che lo trattano, in modo particolare il blog dell'avv. Maurizio Reale (dove è possibile trovare anche degli interessanti modelli di relata conformi alle nuove notificazioni) o il gruppo Facebook PCT processo civile telematico.

Ciò che andremo invece ad affrontare è riguarda tutto ciò che attiene al calcolo dell'hash - impronta su Linux.


Cosa è l'hash?
Semplificando al massimo, si definisce hash una funzione matematica che, partendo da un qualunque file, produce una stringa alfanumerica.
Poiché ciascun file restituisce sempre la stessa stringa, l'indicazione di quest'ultima consente di avere un immediato riscontro matematico della sua integrità, intesa anche come non alterazione. Anche la più insignificante modifica (es. il cambio del nome file) modifica la stringa.
Nel nostro caso il file (il più delle volte pdf) è naturalmente l'atto giudiziario da notificare.

Esistono numerose funzioni hash, quello che attenzioneremo è la funzione SHA-256, che si contraddistingue per essere una delle più sicure.


Come calcolarlo? sha256sum e Gtkhash
Anche se su internet si trovano numerose web app gratuite in grado di calcolarlo facilmente, il buon senso dovrebbe indurre a preservare con particolare attenzione atti e documenti contenenti informazioni personali e riservate, ragione per la quale sconsiglio nel più categorico dei modi l'ausilio di questi mezzi a distanza.

Ubuntu Linux integra già un'apposita utility da terminale, ovvero il comando sha256sum.
La sintassi è la seguente: 

$ sha256sum nomefile

Come si intravede dalla schermata, che riporto solo per gli amici più tradizionalisti, il file Atto Citazione.pdf ha generato come hash Sha-256 la stringa: 
3544f5998f0cee43b14f3fb5dd7d86984cafcbcf74afadb304cc15a2002d78c5





Fortunatamente esistono anche utility grafiche, che consiglio per la loro semplicità, come l'ottimo Gtkhash, che trovate già nei PPA di Ubuntu.

sudo apt-get install gtkhash


Gtkhash è in grado di calcolare gli hash contemporaneamente secondo più funzioni.
E' sufficiente selezionare il documento dalla finestra File e in meno di un batter d'occhio avrete tutte le funzioni pronte da copiaincollare.



Da come si evince, Gtkhash calcola anche secondo gli algoritmi MD5 e SHA-1. Quella che a noi interessa è l'ultima, ovvero il menzionato SHA-256 che dovrà essere indicato nella relata di notifica.
Come è possibile vedere la stringa è assolutamente identica a quella calcolata dal terminale.

Naturalmente è possibile calcolare l'hash dei file ricevuti al fine di controllare la rispondenza a quello indicato nella relata.

giovedì 12 febbraio 2015

Processo Civile Telematico: installazione e configurazione del redattore SL pct su Ubuntu e derivate



Nella scorsa guida abbiamo spiegato come predisporre una macchina Linux per il corretto funzionamento della firma digitale e dell'interfaccia al Polisweb nazionale.
In questa guida verrà illustrato come installare il software imbustatore (o redattore) SL pct.
La distro di riferimento è Ubuntu 14.04 LTS.

SL pct è un software gratuito, open source, multipiattaforma programmato in linguaggio Java.
Lo potete scaricare qui, ricordandovi di fare una piccola donazione nel caso il software fosse di vostro gradimento.


1. Installazione ambiente Java (JRE)

Il primo adempimento, preliminare a qualunque operazione, consiste nell'installazione dell'ambiente Java.
Nel caso in abbiate già provveduto passate direttamente al punto 2.
Se invece non siete sicuri, basterà scrivere nel terminale il seguente comando di verifica:
$ java -version 

Se la risposta è un messaggio di errore allora occorrà provvedere all'installazione.
In caso contrario la consolle restituirà un messaggio simile:





Prima di procedere con l'installazione occorre sapere che l'ambiente Java fornito nei PPA di Ubuntu è l'ambiente Open JDK. Si tratta di una versione non ufficiale e completamente open source, e differisce dal più celebre Oracle Java, pure questo open, soltanto dal fatto che in quest'ultimo sono implementate alcune tecnlogie proprietarie.
Nella maggior parte dei casi Open JDK risulta essere un ottimo sostituto di Oracle Java, tuttavia nel funzionamento di SL pct potrebbe causare problemi.
Per questo motivo è necessario preliminarmente disinstallare, se presente, Open JDK.

Oracle Java non è presente nei PPA per problemi di licenza.
Per la sua installazione occorrerà pertanto scaricare il pacchetto dal sito ufficiale. La versione è pacchettizzata soltanto in RPM. Se non disponete di una distro rpm based (es. Fedora) bisognerà scaricare e installare i binari.

Fortunatamente, alla poca lungimiranza di Oracle, hanno rimediato gli amici di WebUpd8, che ne hanno pacchettizzato in modo autonomo una versione in comodi deb.
Le istruzioni da seguire, che consistono nell'aggiungere il PPA appositamente creato si riassumono nei seguenti comandi da impartire nel terminale:
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

Per il momento sconsiglio di passare a Java 8, in quanto potrebbero verificarsi dei problemi sia con SL pct che con il software di firma Aruba Sign (nel caso disponiate chiavette Aruba).




2. Installazione di SL pct

Dopo avere scaricato SL pct dal link indicato sopra (o dal sito ufficiale ww.slpct.it) si procede scompattando l'archivio. Per questa semplice operazione ometto qualsivoglia riferimento dalla riga di comando in quanto oramai la procedura può tranquillamente essere effettuata da modalità grafica.

Prima di avviare l'installazione bisogna dare i permessi di esecuzione all'installer principale, ragione per cui, dopo esseri portati all'interno della cartella diamo il seguente comando.

sudo chmod +x slpctinstall 

Procediamo pertanto con l'installazione avviando il classico comando:

sudo ./slpctinstall

A questo punto troverete SL pct è installato all'interno della cartella Home, mentre un collegamento verrà creato nel desktop, ma non abbiamo ancora finito.

SL pct dispone di una funzione di aggiornamento automatico alle nuove versioni.
E' bene precisare sin d'ora che per quanto riguarda Linux questa funzione è limitata solo agli alert. Ogni nuova versione dovrà pertanto essere scaricata e installata da zero secondo le modalità pocanzi esposte.


3. Installazione delle JCE (Java Cryptograpy Extension)

L'installazione di queste librerie supplementari è fondamentale in quanto, in loro assenza Java, e conseguentemente SL pct, non riusciranno a gestire le implementazioni di firma.

Al primo avvio di SL pc comparirà quindi un messaggio di avviso che ne segnala la mancanza.

Questo pacchetto va scaricato a parte dal sito ufficiale di Oracle Java (n.b. il presente link vale solo per Oracla Java 7).

L'interno dell'archivio è composto dalla cartella "UnlimitedJCEPolicy", che contiene i seguenti file:


Occorre copiare solo i file local_policy.jar e US_export_policy.jar all'interno del seguente percorso (sono necessari i permessi root):

/usr/lib/jvm/java-7-oracle/jre/lib/security

Vi raccomando di non copiare la cartella che li contiene ma direttamente i singoli file.



4. Abilitare SL pct alla firma digitale

Come ho scritto più sopra SL pct funziona principalmente da "imbustatore" del fascicolo e degli atti di parte. Questo pertanto presuppone che l'atto principale o la procura alle liti siano già state precedentemente firmate digitalmente (estensione .p7m) con i software di firma appositamente rilasciati dai vari gestori (Aruba Sign, Dike) prima di essere caricate nella busta.

Ciò è ovviamente possibile, tuttavia, al fine di facilitare le operazioni, si può abilitare SL pct alla firma degli atti (utilizzandolo a tutti gli effetti come software di firma), che così in questo caso non necessitano di essere preventivamente processati con gli appositi software, con un notevole risparmio di tempo.

Dando per scontato che abbiate già proceduto a scrivere il vostro atto giudiziario da depositare ed esservi muniti della procura ad litem, lì dove richiesto, avviate SL pct e cominciate a caricare i dati e impostare gli atti secondo il suo normale funzionamento.

Giunti al punto raffigurato nella schermata sottostante, premete il tasto Firma.




Si aprirà questa ulteriore schermata:




Presupponendo che abbiate regolarmente installato il driver del vostro lettore e il corretto middleware della vostra smart card (le operazioni sono già state spiegate nella precedente guida), si procede come segue:

Nel primo rigo, basterà inserire il path dove abbiamo installato il middleware. Nel caso specifico si tratta della libreria libbit4xpki.so, valida per la smartcard Incard.
Sarà necessario effettuare questa operazione solo la prima volta, per tutte quelle successive SL pct manterrà le impostazioni.

Il rigo slot può essere lasciato anche vuoto, posto che il programma riconoscerà automaticamente quello corretto.

Nel terzo rigo bisogna inserire la password della smartcard, e occorrerà farlo per ogni singola operazione, in quanto non è possibile salvarla.

A questo punto premendo il tasto "Firma", se tutto è andato bene, la spia del vostro dispositivo di firma comincerà a lampeggiare dando avvio alla procedura.