[RISOLTO] Lettore Smart Card per firma digitale

Discussioni sulla compatibilità dell'Hardware con linux, Drivers, ...

[RISOLTO] Lettore Smart Card per firma digitale

Messaggioda stephanie » 29/10/2018, 15:58

Un saluto a tutto il forum,

avrei necessità di potere utilizzare con una Debian Buster a 64 bit un lettore Smart Card per la firma digitale.

Qualcuno potrebbe indicarmi qualche modello compatibile (sia per quanto riguarda il lettore che per le nuove Smart Card di tipo InCard)?

Riepilogo la mia situazione. In passato, con la vecchia Debian Squeeze a 32-bit, avevo acquistato un Omnikey 3121 perché avevo letto che era la scelta migliore per Linux ed infatti funzionava perfettamente. Con le nuove Smart Card però non funzionava già più nel vecchio pc, men che meno nel nuovo con Debian Buster a 64-bit. Ho provato a scaricare i drivers dal sito del produttore, ma senza avere risolto, i drivers più recenti non sono stati rilasciati per Linux, ho potuto solo utilizzarlo su un Mac.

Ho acquistato un lettore da tavolo da Aruba, visto che venivano forniti i drivers per Linux. Il modello è un Bit4id, MiniLector Mod. Evo. Installati senza difficoltà i drivers del lettore e delle Smart Card InCard.

Dopo aver copiato i drivers della Smart Card in /usr/lib con ldconfig mi dice che il file conf non è un file ELF, comunque ho letto in altri forum che dovrebbe funzionare lo stesso:

Codice: Seleziona tutto
ldconfig: /usr/lib/libbit4opki.so.conf non è un file ELF - i byte magic iniziali sono sbagliati. ldconfig: /usr/lib/libbit4xpki.so.conf non è un file ELF - i byte magic iniziali sono sbagliati.


Tuttavia con lsusb il sistema operativo non vede ancora il lettore:

Codice: Seleziona tutto
stephanie@PcServer:~$ lsusb
Bus 002 Device 002: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 001 Device 005: ID 04fc:0c15 Sunplus Technology Co., Ltd SPIF215A SATA bridge
Bus 001 Device 004: ID 0424:2412 Standard Microsystems Corp.
Bus 001 Device 003: ID 0424:1104 Standard Microsystems Corp.
Bus 001 Device 002: ID 04e8:326c Samsung Electronics Co., Ltd ML-2010P Mono Laser Printer
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
stephanie@PcServer:~$


Ho provato ad installare i drivers dal sito del produttore (https://support.bit4id.com), che peraltro sembrano aggiornati al 2008, installati senza problemi, ma con lsusb ancora non vede il lettore.

Ho aperto un ticket su Aruba, che sostanzialmente mi diceva di fare le stesse operazioni che avevo già fatto, salvo indicare nel software ArubaSign la libreria libbit4xpki.so come driver da utilizzare. Fatto anche questo, il problema rimane.

L'ultima risposta di Aruba sarebbe stata di disinstallare ArubaSign (come non saprei, perché non è presente in gestione pacchetti, ma installato con un file install.bat) per installare una versione precedente.

Tuttavia, se il sistema operativo non vede il lettore con lsusb credo che il problema sia a monte e non di ArubaSign che per il resto funziona correttamente (per la verifica delle firme ad esempio).

Senza impazzire, e qui viene la mia domanda, qualcuno potrebbe dirmi un modello di lettore che possa funzionare correttamente (anche con le nuove Smart Card) con una Debian Buster a 64-bit? In modo che possa comprare quello e riuscire finalmente a firmare digitalmente sotto Linux, senza dovere aprire il Mac ogni volta...

Grazie per qualsiasi consiglio, buona giornata a tutti,

Stéphanie
Ultima modifica di stephanie il 14/11/2018, 10:25, modificato 1 volta in totale.
stephanie
Newbie
Newbie
 
Messaggi: 18
Iscritto il: 05/08/2017, 12:44

Re: Lettore Smart Card per firma digitale

Messaggioda Aki » 31/10/2018, 20:51

Secondo quanto indicato nel pacchetto libccid il lettore “Bit4id mini lector” (vedi anche https://ccid.apdu.fr/ccid/shouldwork.html#0x25DD0x3111) dovrebbe essere supportato in Debian Stretch:
Codice: Seleziona tutto
# Bit4id
0x25DD:0x1101:Bit4id miniLector-s
0x25DD:0x1201:Bit4id cryptokey
0x25DD:0x2221:Bit4id iAM
0x25DD:0x2321:Bit4id CKey4
0x25DD:0x2341:Bit4id tokenME FIPS v3
0x25DD:0x2351:Bit4id Digital DNA Key
0x25DD:0x3111:Bit4id miniLector

Hai installato questo pacchetto e tutte le dipendenze ? Esso installa anche i file preposti al ricoscimento della periferica sul bus usb.
Aki
Global Moderator
Global Moderator
 
Messaggi: 8103
Iscritto il: 27/12/2007, 16:59

Re: Lettore Smart Card per firma digitale

Messaggioda stephanie » 31/10/2018, 21:46

Grazie della risposta, confermo che il pacchetto libccid è regolarmente installato (ho provato anche a reinstallarlo da gestione pacchetti, ma il risultato purtroppo non cambia).

Non so se sia per via dell'architettura a 64 bit o cosa sia.

Non ho idea di come risolvere, per me sarebbe anche sufficiente sapere quale lettore possa presumibilmente funzionare con una Buster a 64 bit, l'importante è che in qualche modo possa usare la firma digitale.

Ancora grazie e buona serata,

Stéphanie
stephanie
Newbie
Newbie
 
Messaggi: 18
Iscritto il: 05/08/2017, 12:44

Re: Lettore Smart Card per firma digitale

Messaggioda Aki » 31/10/2018, 21:50

stephanie ha scritto:Grazie della risposta, confermo che il pacchetto libccid è regolarmente installato (ho provato anche a reinstallarlo da gestione pacchetti, ma il risultato purtroppo non cambia).

Ti suggerirei, se possibile, di indagare meglio, dal momento che riferisci di aver installato manualmente delle librerie di terze parti; per farlo, puoi impartire i seguenti comandi come utente root (sarà generato un file log.txt che potrai analizzare o inviare per referenza):
Codice: Seleziona tutto
script log.txt
apt-get --reinstall install libccid
systemctl restart systemd-udevd.service
systemctl status systemd-udevd.service
lsusb
exit

Potrebbe, inoltre, essere utile visione l'output dello script http://guide.debianizzati.org/index.pp/Creazione_automatica_di_un_file_di_log_per_inviare_quesiti_al_forum

stephanie ha scritto:Non ho idea di come risolvere, per me sarebbe anche sufficiente sapere quale lettore possa presumibilmente funzionare con una Buster a 64 bit, l'importante è che in qualche modo possa usare la firma digitale.

Scusami se mi permetto, ma non riesco a capire se escludi di effettuare ulteriori verifiche e/o approfondimenti per risolvere oppure se ritieni che sia più consono alle tue inclinazioni acquistare a colpo sicuro (rispetto al funzionamento) un altro dispositivo.
Aki
Global Moderator
Global Moderator
 
Messaggi: 8103
Iscritto il: 27/12/2007, 16:59

Re: Lettore Smart Card per firma digitale

Messaggioda stephanie » 05/11/2018, 12:16

Grazie della risposta e scusa il ritardo, ma ero via in questi giorni.

Allego il log dei comandi (log.txt e copia-incolla del terminale che ho salvato in un file chiamato Log_Debian_20181105.txt).

Eventualmente posso provare con lo script, in questo caso quali parametri dovrei dare?

Per quanto mi riguarda non ci sono problemi a fare ulteriori verifiche, l'unica cosa è che io non sono una sistemista, ed il punto fondamentale è di riuscire in qualche modo a risolvere, se con questo o con un altro lettore l'importante è che alla fine possa firmare digitalmente sotto Linux. Quindi, se si riesce a trovare una soluzione senza impazzire sarebbe ottimo, ma in alternativa sono comunque disponibile ad acquistare un nuovo lettore che possa funzionare con la mia Debian Buster a 64 bit senza problemi.

Ancora grazie e buona giornata,

Stéphanie
Allegati
log.zip.zip
(5.85 KiB) Scaricato 14 volte
stephanie
Newbie
Newbie
 
Messaggi: 18
Iscritto il: 05/08/2017, 12:44

Re: Lettore Smart Card per firma digitale

Messaggioda Aki » 09/11/2018, 20:35

stephanie ha scritto:Eventualmente posso provare con lo script, in questo caso quali parametri dovrei dare?

Potresti scegliere l'opzione "Altro".
Aki
Global Moderator
Global Moderator
 
Messaggi: 8103
Iscritto il: 27/12/2007, 16:59

Re: Lettore Smart Card per firma digitale

Messaggioda Franco » 10/11/2018, 14:07

Ciao a tutti. Non avendo nessuna esperienza su questo hardware, posso suggerirti un modo per aggirare il problema:
puoi installare una macchina virtuale (con virtualbox per esempio) sulla quale installare la versione stable di debian a 64 o 32 bit. E' probabile che funzioni. Una buona giornata. Franco
La fantasia è un piccolo fiore da innaffiare tutti i giorni con acqua di fiaba e pioggia di sogni. Leggi e guarda, ascolta e sogna: ti aiuterà a vivere. Hasta siempre.
Franco
Newbie
Newbie
 
Messaggi: 38
Iscritto il: 11/03/2005, 4:40

Re: Lettore Smart Card per firma digitale

Messaggioda docbenc » 13/11/2018, 16:39

Salve a tutti.
Per il lettore bit4id dopo lunghe ricerche ho trovato la soluzione che ho postato qui:
viewtopic.php?f=24&t=53483#p215455

Non servono driver "aggiuntivi", il lettore è compliant CCID quindi funziona anche sotto debian. Mancano le definizioni del device usb nel file driver di pcscd .

Saluti
docbenc
Newbie
Newbie
 
Messaggi: 7
Iscritto il: 13/11/2018, 13:36

Re: Lettore Smart Card per firma digitale

Messaggioda stephanie » 13/11/2018, 18:19

Grazie mille per la risposta. Non mi è però ben chiaro come debba modificare nel file Info.plist, in particolare per ifdVendorID nel mio file tutte le righe sono uguali con il valore 0x072f.

Mi è chiaro come debba procedere, per cui devo aggiungere una riga nei tre blocchi ifdVendorID, ifdProductID e ifdFriendlyName che deve trovarsi nella stessa posizione, per cui seguirò il consiglio di metterla in tutti e tre i blocchi come prima riga.

Non mi è chiaro però che parametri impostare, se 0x25DD , 0x3111 e BIT4ID READER oppure se debba leggere qualche parametro nel mio sistema e magari tenere il primo 0x072f come gli altri dello stesso blocco.

In particolare, poiché con lsusb non vedo il lettore, non mi è chiaro come possa reperire i valori di Vendor ID e Product ID.

Allego una copia del file Info.plist.

Ancora grazie, allora dovremmo ormai essere vicini alla soluzione!

Buona serata,

Stéphanie
Allegati
CopiaDi_Info.plist.zip
(2.75 KiB) Scaricato 5 volte
stephanie
Newbie
Newbie
 
Messaggi: 18
Iscritto il: 05/08/2017, 12:44

Re: Lettore Smart Card per firma digitale

Messaggioda docbenc » 13/11/2018, 18:27

Senti dovresti fare da root:
Codice: Seleziona tutto
tail -f /var/log/syslog


e staccare e riattaccare il lettore, il kernel dovrebbe sentirlo e dovresti vederlo nel tailing del log.

In quelle righe ci dovrebbe essere la coppia di valori ID usb.

Ciao
docbenc
Newbie
Newbie
 
Messaggi: 7
Iscritto il: 13/11/2018, 13:36

Re: Lettore Smart Card per firma digitale

Messaggioda stephanie » 13/11/2018, 19:03

Grazie dell'aiuto, in questo modo riesco a leggerlo, mi darebbe come idVendor 0424, come idProduct 1104 e come Product SMSC USX101x Reader.

La cosa strana è che lo legge come SMSC USX101x Reader e non come bit4id, ed anche il numero di serie non corrisponde, viene indicato E920868B, mentre è 38U-012314.

Ecco l'output del comando:

Codice: Seleziona tutto
root@PcServer:/home/stephanie# lsusb
Bus 002 Device 002: ID 152d:0567 JMicron Technology Corp. / JMicron USA Technology Corp. JMS567 SATA 6Gb/s bridge
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 006: ID 045e:00cb Microsoft Corp. Basic Optical Mouse v2.0
Bus 001 Device 005: ID 04fc:0c15 Sunplus Technology Co., Ltd SPIF215A SATA bridge
Bus 001 Device 004: ID 0424:2412 Standard Microsystems Corp.
Bus 001 Device 007: ID 0424:1104 Standard Microsystems Corp.
Bus 001 Device 002: ID 04e8:326c Samsung Electronics Co., Ltd ML-2010P Mono Laser Printer
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
root@PcServer:/home/stephanie# tail -f /var/log/syslog
Nov 13 18:45:51 PcServer kernel: [13259.854617] usb 1-3: USB disconnect, device number 3
Nov 13 18:45:54 PcServer kernel: [13263.531504] usb 1-3: new full-speed USB device number 7 using xhci_hcd
Nov 13 18:45:54 PcServer kernel: [13263.682591] usb 1-3: New USB device found, idVendor=0424, idProduct=1104
Nov 13 18:45:54 PcServer kernel: [13263.682597] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
Nov 13 18:45:54 PcServer kernel: [13263.682601] usb 1-3: Product: SMSC USX101x Reader
Nov 13 18:45:54 PcServer kernel: [13263.682605] usb 1-3: Manufacturer: SMSC
Nov 13 18:45:54 PcServer kernel: [13263.682608] usb 1-3: SerialNumber: E920868B
Nov 13 18:45:54 PcServer mtp-probe: checking bus 1, device 7: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3"
Nov 13 18:45:54 PcServer mtp-probe: bus: 1, device: 7 was not an MTP device
Nov 13 18:45:55 PcServer colord-sane: io/hpmud/pp.c 627: unable to read device-id ret=-1
Nov 13 18:49:43 PcServer kernel: [13491.998362] usb 1-3: USB disconnect, device number 7
Nov 13 18:49:47 PcServer colord-sane: io/hpmud/pp.c 627: unable to read device-id ret=-1
Nov 13 18:49:49 PcServer kernel: [13498.546760] usb 1-3: new full-speed USB device number 8 using xhci_hcd
Nov 13 18:49:49 PcServer kernel: [13498.697823] usb 1-3: New USB device found, idVendor=0424, idProduct=1104
Nov 13 18:49:49 PcServer kernel: [13498.697829] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=5
Nov 13 18:49:49 PcServer kernel: [13498.697833] usb 1-3: Product: SMSC USX101x Reader
Nov 13 18:49:49 PcServer kernel: [13498.697836] usb 1-3: Manufacturer: SMSC
Nov 13 18:49:49 PcServer kernel: [13498.697840] usb 1-3: SerialNumber: E920868B
Nov 13 18:49:50 PcServer mtp-probe: checking bus 1, device 8: "/sys/devices/pci0000:00/0000:00:14.0/usb1/1-3"
Nov 13 18:49:50 PcServer mtp-probe: bus: 1, device: 8 was not an MTP device
Nov 13 18:49:54 PcServer colord-sane: io/hpmud/pp.c 627: unable to read device-id ret=-1


Come devo impostare i parametro del file Info.plist? La struttura dei dati sembra diversa, come VendorId ho sempre 0x072f, come ProductId ho campi sempre di 6 caratteri che iniziano per 0x, come ifdFriendlyName non se usare BIT4ID READER o SMSC USX101x Reader.

Provare a lasciare 0x072f come VendorId (visto che sono uguali), mettere 0x1104 come ProductID e SMSC USX101x Reader come FriendlyName?

Non sono una sistemista e non vorrei creare problemi.

Ancora grazie dell'aiuto, buona serata,

Stéphanie
stephanie
Newbie
Newbie
 
Messaggi: 18
Iscritto il: 05/08/2017, 12:44

Re: Lettore Smart Card per firma digitale

Messaggioda docbenc » 13/11/2018, 19:25

Sai in questi lettori ci mettono dentro i chip che "capitano" è hardware dozzinale, il bit4id c'è in tre versioni, quella che ho io è quella più problematica.

Il tuo è questo:
Codice: Seleziona tutto
Bus 001 Device 003: ID 0424:1104 Standard Microsystems Corp.


SMSC sta per Standard Microsystem Corporation.

Posta l'output di questo comando:
Codice: Seleziona tutto
lsusb -d 0424:1104 -v
docbenc
Newbie
Newbie
 
Messaggi: 7
Iscritto il: 13/11/2018, 13:36

Re: Lettore Smart Card per firma digitale

Messaggioda stephanie » 13/11/2018, 20:03

Grazie davvero per il tempo e per l'aiuto, quindi se ho ben capito idVendor sarebbe 0x0424, idProduct sarebbe 0x1104 e ifdFriendlyName sarebbe SMSC USX101x Reader ?

L'unica cosa è che in tutti gli altri prodotti supportati nel file Info.plist è 0x072f per tutti i modelli.

Per non combinare guai, uso 0x0424 o 0x072f come idVendor?

Questo è l'output del comando lsusb -d 0424:1104 -v :

Codice: Seleziona tutto
root@PcServer:/home/stephanie# lsusb -d 0424:1104 -v

Bus 001 Device 008: ID 0424:1104 Standard Microsystems Corp.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        16
  idVendor           0x0424 Standard Microsystems Corp.
  idProduct          0x1104
  bcdDevice            2.22
  iManufacturer           1 SMSC
  iProduct                2 SMSC USX101x Reader
  iSerial                 5 E920868B
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           93
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          3 CCID
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              120mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           3
      bInterfaceClass        11 Chip/SmartCard
      bInterfaceSubClass      0
      bInterfaceProtocol      0
      iInterface              4 CCID Interface
      ChipCard Interface Descriptor:
        bLength                54
        bDescriptorType        33
        bcdCCID              1.10  (Warning: Only accurate for version 1.0)
        nMaxSlotIndex           0
        bVoltageSupport         7  5.0V 3.0V 1.8V
        dwProtocols             3  T=0 T=1
        dwDefaultClock       4800
        dwMaxiumumClock     16000
        bNumClockSupported      0
        dwDataRate          12903 bps
        dwMaxDataRate      826000 bps
        bNumDataRatesSupp.      0
        dwMaxIFSD             254
        dwSyncProtocols  00000000
        dwMechanical     00000000
        dwFeatures       000100B2
          Auto configuration based on ATR
          Auto clock change
          Auto baud rate change
          Auto PPS made by CCID
          TPDU level exchange
        dwMaxCCIDMsgLen       271
        bClassGetResponse    echo
        bClassEnvelope       echo
        wlcdLayout           none
        bPINSupport             0
        bMaxCCIDBusySlots       1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              16
Device Status:     0x0000
  (Bus Powered)
root@PcServer:/home/stephanie#


Ancora grazie per l'aiuto, buona serata,

Stéphanie
stephanie
Newbie
Newbie
 
Messaggi: 18
Iscritto il: 05/08/2017, 12:44

Re: Lettore Smart Card per firma digitale

Messaggioda docbenc » 13/11/2018, 20:34

MOD_Info.plist.zip
Info.plist modificato
(2.82 KiB) Scaricato 6 volte


Ti allego il tuo file Info.plist modificato dove serve.
Fai il backup dell'originale e sovrascrivilo con questo rinominandolo col nome corretto.

Poi segui i punti 5 e 6 del post linkato sopra.

Questo lettore è compliant CCID quindi in teoria dovrebbe funzionare.

Se posso dare un consiglio se dovete comprare un reader per smartcard cercatelo della Gemalto, tanto costano come gli altri e sotto Linux funzionano bene.

Ciao
docbenc
Newbie
Newbie
 
Messaggi: 7
Iscritto il: 13/11/2018, 13:36

Re: [RISOLTO] Lettore Smart Card per firma digitale

Messaggioda stephanie » 14/11/2018, 10:28

Grazie mille, ora funziona tutto perfettamente!!!

Non so come ringraziarti, mi hai risolto un problema per me molto importante, adesso finalmente riesco a firmare sotto Linux!!!

Grazie anche per il consiglio dei lettori Gemalto, come prossimi lettore acquisterò sicuramente quelli.

Ancora un grandissimo GRAZIE per il preziosissimo ed indispensabile aiuto.

Buona giornata,

Stéphanie
stephanie
Newbie
Newbie
 
Messaggi: 18
Iscritto il: 05/08/2017, 12:44

Prossimo

Torna a Hardware

Chi c’è in linea

Visitano il forum: Nessuno e 4 ospiti