Wednesday, January 11, 2017

Firma digitale Infocamere e Ubuntu ora funziona!!


Era da qualche tempo che provavo (infruttuosamente) a far funzionare il mio kit di firma digitale Infocamere sotto Ubuntu.

Ora, finalmente, ci sono riuscito, anche se in maniera "provvisoria".

Il mio sistema:

Ubuntu 8.04

Una smart card infocamere, serie 1203

Un lettore di smart card bit4id, Advanced Card Systems, Ltd ACR38 AC1038-based Smart Card Reader

Ho anche un lettore Omnikey Cardman 2020, che non sono riuscito a far funzionare.

Tanta pazienza, molte gugolate, e un pò di fortuna...


Mi sono stati di enorme aiuto:

Guida allinstallazione

Firma digitale e smart card
Installare smart card Università su Ubuntu
Firma digitale con Linux

Installare pcscd
Installare pcsc-tools

sudo apt-get install pcscd pcsc-tools

Per il lettore di carte, avendo io un ACR38, ho installato un altro pacchetto, e precisamente libacr38u

sudo apt-get install libacr38u

A questo punto, occorre provare a vedere se tutto funziona, con pcsc_scan

Questo è il risultato:
PC/SC device scanner
V 1.4.11 (c) 2001-2007, Ludovic Rousseau
Compiled with PC/SC lite version: 1.4.4
Scanning present readers
0: ACS ACR38U 00 00

Thu Jun 12 17:01:07 2008
Reader 0: ACS ACR38U 00 00
Card state: Card inserted, Shared Mode,
ATR: 3B F2 98 00 FF C1 10 31 FE 55 C8 04 12

ATR: 3B F2 98 00 FF C1 10 31 FE 55 C8 04 12
+ TS = 3B --> Direct Convention
+ T0 = F2, Y(1): 1111, K: 2 (historical bytes)
TA(1) = 98 --> Fi=512, Di=12, 42.6667 cycles/ETU (83700 bits/s at 3.57 MHz)
TB(1) = 00 --> VPP is not electrically connected
TC(1) = FF --> Extra guard time: 255 (special value)
TD(1) = C1 --> Y(i+1) = 1100, Protocol T = 1
-----
TC(2) = 10 --> Work waiting time: 960 x 16 x (Fi/F)
TD(2) = 31 --> Y(i+1) = 0011, Protocol T = 1
-----
TA(3) = FE --> IFSC: 254
TB(3) = 55 --> Block Waiting Integer: 5 - Character Waiting Integer: 5
+ Historical bytes: C8 04
Category indicator byte: C8 (proprietary format)
+ TCK = 12 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B F2 98 00 FF C1 10 31 FE 55 C8 04 12
CardOS M4.01a (SLE66CX322P)

Per qualche arcano motivo, però, a volte pcsc non parte.

Per verificare se il demone pcscd è caricato:

ps -fe | grep pcsc

Nel mio caso non era caricato, e non partiva neanche con sudo /etc/ini.d/pcscd start.

Ho dovuto digitare:

sudo pcscd -f

E a questo punto mi funzionava tutto :-)


Per far funzionare la smart card su firefox, ho installato opensc e mozilla-opensc

Sudo apt-get install opensc mozilla-opensc libpcsclite1 libopensc2

Dopodichè, bisogna abilitare la smart card su firefox:

1.) Start Mozilla or Firefox or Thunderbird.


----

2.) Select "Tools" on the menu bar, select "Option...".


----

3.) Select "Advanced" Options. Unfold the "Certificates" section. Click on "Manage Security Devices".



----

4.) Click on "Load"



----

5.) Change the name to "OpenSC PKCS#11 Module". Click on "Browse."




----

6.) Select the installation directory. On windows this is usualy "C:Program FilesSmart card bundle". On Linux and Mac OS X choose "/usr/lib/".

Click on "opensc-pkcs11.dll" (windows) or "opensc-pkcs11.so" (Linux, Mac OS X). Click "Open".



----

7.) Click "Ok".





Et voilà! A questo punto sono finalmente riuscito ad accedere al sito della Corte di Cassazione, ed a accessogiustizia.it

Dual boot? No grazie ...

PS: questo howto funziona con la card 1203, mentre non sono riuscito in alcun modo a far riconoscere una card serie 1204...


Available link for download