Usare il lettore di smart card Manhattan su Linux

Questo articolo è molto vecchio e potrebbe essere obsoleto

Per lavoro mi sono imbattuto nel dover far funzionare con Linux un lettore di smart card marchiato Manhattan (cod. 172844).

Post imageUn lettore per smartcard è utile per effettuare la firma elettronica ma anche per leggere la tessera sanitaria (TS-CNS) ai fini dell'accesso al proprio fascicolo sanitario elettronico o per ottenere una utenza SPID.

Riporto qui il risultato del comando lsusb:

Bus 004 Device 007: ID 0ca6:0010 Castles Technology Co., Ltd EZUSB PC/SC Smart Card Reader


Come si evince dalla scritta qui sopra, il lettore è basato sul chipset EZUSB della Castles Technology. In particolare è un EZ100PU i cui driver per Linux sono presenti sul loro sito web a questo indirizzo.

I driver sono distribuiti in forma binaria e purtroppo non sono disponibili i sorgenti, dunque per farli funzionare con pcscd, il servizio che su Linux (ma anche *BSD) si preoccupa di dialogare con i lettori di smart card, dovremmo usare uno script interno per installare i suddetti driver. Tutto questo dopo aver aperto due archivi zip, scelto l'architettura della nostra installazione e letto due README.txt. Ma ovviamente se usate Ubuntu o Debian vi ho semplificato le cose.

Pacchetto deb per Ubuntu e Debian

Per ovviare al problema, solo se si usa Ubuntu o Debian, potrete utilizzare un comodo pacchetto deb (realizzato da me per conto di LiberSoft) che scaricherà l'archivio zip e installerà tutti i file richiesti nelle giuste directory.

Il codice sorgente di questo pseudo-pacchetto Debian è disponibile su GitHub.

Aiuto!

Se ci sono problemi relativi all'installazione di questo specifico modello (anche con distribuzioni differenti da Ubuntu) non esitate a chiedere chiarimenti nei commenti.

Alternative

Il lettore della Manhattan ha bisogno di driver sociali perché non è conforme allo standard CCID. Un buon lettore plug&play per esempio quello della bit4id.

Articoli correlati

Abbonati al feed RSS. Se non sai cos'è guarda qui.

Abbonati alla newsletter per ricevere via email ogni nuovo articolo pubblicato. L'indirizzo verrà gestito da FeedBurner.

Dai il tuo parere, commenta questo articolo!
commenti su Usare il lettore di smart card Manhattan su Linux
  1. Massimiliano scrive —

    Prima di tutto grazie mille per il tuo lavoro Daniele, l’unica risorsa su internet che ho trovato per far funzionare questo lettore.
    Io ho acquistato un MATSUYAMA CF785 ma dando il comando lsusb ottengo questo output:
    Bus 002 Device 005: ID 0ca6:0010 Castles Technology Co., Ltd EZUSB PC/SC Smart Card Reader
    essendo un lettore usb credo proprio sia lo stesso lettore EZ100PU di cui si parla nell’articolo.
    Uso ubuntu 12.04 LTS 64bit per tutto, anche al lavoro, ma nonstante tutto rimango un semplice utente. Ho installato i driver senza errori (almeno in apparenza) ma non riesco a capire come fare per utilizzare questo lettore con il sito http://www.crs.regione.lombardia.it
    Grazie fin da subito per l’aiuto

  2. Massimiliano scrive —

    credo di aver risolto.
    I driver forniti da Daniele sono fondamentali e se può essere di aiuto a qualcuno.... spiego come ho fatto.
    Installati i driver come spiegato da Daniele e poi su
    http://facciolinux.blogspot.it/2012/02/crs-e-linux.html
    seguiite le istruzioni come spiegato.
    Su Ubuntu 12.04 LTS 64bit le uniche differenze che ho trovato sono:
    1 - ’opensc-pkcs11.so‘ si trova in usr/bin e non nel percorso suggerito;
    2 - ho riavviato prima della verifica su www.crs.regione.lombardia.it (senza il riavvio non funzionava, ma non so perchè)

    adesso funziona alla grande

  3. Davide scrive —

    Confermo l’accuratezza e l’utilità dell’articolo e dei due commenti di Massimiliano.
    Installato un "Manhattan reader" USB basato su "Castles Technology Co., Ltd EZUSB PC/SC" su Debian 6.0.3.

  4. Fabio scrive —

    Scusa, sto cercando di installare la Manatthan card reader su Kubuntu 12.04 lts. Prima mi funzionava su Ubuntu 12.04 lts. Ho intallato di nuovo il sistema operativo ma ora non riesco a caricare il lettore.
    Con lsusb mi conferma la smart card. Con pcsc_scan mi dà:
    PC/SC device scanner
    V 1.4.18 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
    Compiled with PC/SC lite version: 1.7.4
    Using reader plug’n play mechanism
    Scanning present readers...
    Waiting for the first reader...
    Se per cortesia mi puoi assistere ti ringrazio in anticipo.

  5. Massimo Novi scrive —

    Grande Daniele! Funziona alla perfezione... Grazie!!!!

  6. Vittorio F. scrive —

    Salve! Sono arrivat su questa pagina perchè cerco un aiuto per ottenere gli .rpm.
    Grazie

  7. Paolo scrive —

    Sono un utente Ubuntu 12.04 64bit poco esperto e sto cercando di installare lo smart card reader marchiato digicom ma che corrisponde al EZ100UP. Ho tentato tutti i passaggi sia installando i vari pacchetti e driver sia (una volta scoperto) tentando con il pacchetto che ci hai gentilmente messo a disposizione. Non riesco però a fare funzionare il lettore.
    Se digito pcsc_scan si blocca così:


    PC/SC device scanner
    V 1.4.18 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
    Compiled with PC/SC lite version: 1.7.4
    Using reader plug’n play mechanism
    Scanning present readers...
    0: CASTLES EZ100PU 00 00

    Wed Oct 29 23:54:20 2014
    Reader 0: CASTLES EZ100PU 00 00
    Card state:

    Puoi aiutarmi a risolvere il problema?
    Ti ringrazio per l’aiuto che se ti è possibile vorrai fornirmi e comunque anche per quanto già fatto con il pacchetto.

  8. Alessio scrive —

    Vittorio F., io ho intenzione di creare degli rpm. Tu che distro usi?

  9. Pare scrive —

    Stesso problema di Paolo, ho l’impressione che la causa risieda nel fatto che il simpatico pacchetto deb fornito in questa pagina non tiene conto dell’architettura ed installa il driver a 32 bit anche su architettura a 64...
    Farò qualche esperimento e vedrò se ne verrò a capo.

  10. Pare scrive —

    Ehm... capito il problema. Per riconoscere l’architettura, lo script contenuto nel pacchettino di Dnax usa:

    if uname -p | grep x86_64

    Il problema è che ad esempio sulla mia macchina:
    $ uname -p
    unknown
    $ uname -m
    x86_64

    Forse andrebbe sostituito lo specifico "uname -p" con un generico "uname -a"?
    Sostituita la versione 32-bit con quella a 64, "pcsc_scan" ha dato i risultati attesi.

  11. lucio scrive —

    Ciao non riesco a risolvere uso ubuntu 12 ho installato il tuo pacchetto deb ed anche il faccio linux ma

  12. lucio scrive —

    Ciao uso ubuntu 12.04 e non riesco a risolvere ho installato il tuo pacchetto ma niente seguendo i commenti invio i seguenti dettagli
    lucio@lucio-N61PA-M2S:~$ lsb_release -a
    No LSB modules are available.
    Distributor ID: Ubuntu
    Description: Ubuntu 12.04.5 LTS
    Release: 12.04
    Codename: precise
    lucio@lucio-N61PA-M2S:~$ uname -m
    i686
    lucio@lucio-N61PA-M2S:~$ uname -p
    athlon
    Cosa posso fare ho proprio bisogno di far funzionare il lettore di smart card Grazie

  13. Carlo Piana scrive —

    Ottimo, non funzionava, ora funziona! :-)

  14. Michele scrive —

    Grazie per l’utilissima guida e pacchetto autoinstallante!
    Ho questo problema: dopo aver correttamente installato i driver, Dike non mi consente di firmare digitalmente il documento, pur riconoscendo il lettore come presente.
    in particolare risulta "nessun certificato disponibile" (vedi schermata: http://i.imgur.com/UQcrdYk.png )

    cosa posso fare?

  15. Paolo scrive —

    ho provato a installare il tuo pacchetto deb ma senza successo. Mi da un errore che incollo di seguito:

    **************************
    Reading database ... (Reading database ... 5% (Reading database ... 10% (Reading database ... 15% (Reading database ... 20% (Reading database ... 25% (Reading database ... 30% (Reading database ... 35% (Reading database ... 40% (Reading database ... 45% (Reading database ... 50% (Reading database ... 55% (Reading database ... 60% (Reading database ... 65% (Reading database ... 70% (Reading database ... 75% (Reading database ... 80% (Reading database ... 85% (Reading database ... 90% (Reading database ... 95% (Reading database ... 100% (Reading database ... 321039 files and directories currently installed.)
    Preparing to unpack .../libez100pu-downloader_1.5.3-1_all.deb ...
    Unpacking libez100pu-downloader (1.5.3-1) over (1.5.3-1) ...
    Setting up libez100pu-downloader (1.5.3-1) ...
    Downloading...
    --2015-11-01 17:58:23-- http://www.casauto.com.tw/db/pictures/modules/PDT/PDT060207001/2011810151801402.zip
    Resolving www.casauto.com.tw (www.casauto.com.tw)... failed: Name or service not known.
    wget: unable to resolve host address www.casauto.com.tw
    download failed
    libez100pu is NOT installed.
    dpkg: error processing package libez100pu-downloader (--install):
    subprocess installed post-installation script returned error exit status 1
    Errors were encountered while processing:
    libez100pu-downloader
    *****************************

    Saluti
    Paolo

  16. Marco scrive —

    Con Ubuntu 14.04 64bit, prima dovevo lanciare una virtual con XP e caricare il lettore USB per poterlo usare.
    Ora, grazie al tuo pacchetto deb, ho risolto e posso utilizzare la firma elettronica direttamente da Ubuntu.
    Grazie

  17. Nico scrive —

    Ciao!
    Ho installato il lettore tranquillamente sia su sistemi a 32 che 64 bit.
    Ora dovrei farlo andare su un armhf (bananaPi)

    Come faccio a compilare il tuo progetto che hai messo si github?

  18. Francesco scrive —

    Buon giorno,
    sto cercando il driver ezusb.so armhf, qualcuno sa dirmi qualcosa?

    Grazie

  19. Stefano scrive —

    Ho installato e funziona tutto su ubuntu 16.04. Firefox mi vede il certificato della CNS. Al momento di accedere ad un sito es. INPS, mi viene chiesto il pin della CNS e dopo il lettore si mette a lampeggiare e non si ferma piu'. Dopo un po‘ la pagina va in time out con un errore del lettore di smart card. La stessa cosa succede con Chromium sempre su ubuntu.Lo stesso lettore e la stessa carta funzionano correttamente su windows.Ho provato i driver openpcsc. Stessa cosa: la carta viene letta ed il certificato acquisito dal browser, ma quando si tenta di accedere ad un sito...luce rossa lampeggiante.

  20. Stefano scrive —

    Qualche idea?
    Grazie!

  21. claudio scrive —

    http://www.castech.com.tw/db/pictures/modules/PDT/PDT060207001/2011810151801402.zip

    non si riesce a connettersi.

  22. Ferdinando Dossena scrive —

    Buongiorno,
    ho lanciato il tuo script su Ubuntu 18.04 LTS , comincia a lavorare ma ad un certo punto si ferma.
    Ho controllato con apt-get install -f e mi dice che manca una libreria, si collega al sito ma non riesce a scaricarla.
    Ho seguito i passi nel file readme del Manhattan e sono riuscito ad installare e far funzionare il card reader, ora però ogni qualvolta accendo il pc mi da un errore di sistema.
    Hai qualche idea?

    Grazie mille

  23. Vittorio F. scrive —

    Dopo tot anni siamo ancora qui, e PGP non funziona ancora su Linux ...

  24. luigi scrive —

    purtroppo
    http://www.castlestech.com/db/pictures/modules/PDT/PDT060207001/2011810151801402.zip
    non esiste più (raccatto un bel 404)

    per tutti: se qualcuno vi porta un lettore di smart-card targato Manhattan consigliateli di buttarlo nello "speciale" e di procurarsi qualcosa di più serio ... ;-) ...

  25. DnaX scrive —

    @Tutti:

    Driver Linux 32/64bit presente qui: https://www.castlestech.com/wp-content/uploads/2016/08/201511920271676073.zip

    Non ho ancora capito come mai ogni anno si divertono a cambiare gli URL!

  26. Fabrizio Martelli scrive —

    Ok, il driver nuovo e‘ al link che hai scritto, ma come faccio a dirgli di usarlo nel dpkg -i ?

Lascia un commento

CC BY-NC-SA 3.0 2004-2020 Daniele Napolitano — Per informazioni sulla licenza leggere le Note legali