Matteo Bini ha scritto:
di recente mi è scaduta la tessera sanitaria e ho ricevuto quella
nuova, modello ACe 2025 (ACTALIS) [1].
Purtroppo non riesco a far funzionare la tessera nuova con OpenSC,
nonostante abbia provato pure l'ultima versione [2]
uso anch'io OpenSC con la 2021, però so che dei colleghi hanno preso i
driver presenti sul sito web istituzionale e usano quelli.
Io ho notato questo: con il lettore "vecchio" su PC recenti non mi funziona
più la nuova tessera e OpenSC, ho dovuto prendere un lettore nuovo e con
quello non c'è nessun problema (anche colleghi con uindous hanno dovuto
usare il lettore nuovo). Però i miei colleghi che usano i driver del sito
istituzionale riescono ancora ad usare il lettore vecchio con tessera nuova.
Inoltre sapete se ci sia un modo di debuggare queste schede da linea
di comando, per vederne i dettagli come il produttore, il chip, le
incompatibilità riscontrate?
io ci avevo provato con il lettore "vecchio", ma la quantità di dati che ti
sputa fuori è enorme e anche con una diff hai un numero di righe
diverse molto elevato.
Non mi ricordo più cosa avessi fatto, probabilmente ero partito con
journalctl e poi usato gdb.
Ti incollo qui un po' di comandi che mi ero segnato per controlli vari:
*******************
C) test di verifica
*******************
C) test di verifica
*******************
Ho usato questi test per capire eventuali problemi a che livello si pongano. Qui
riporto solo quelli usati per poi effettuare l'autenticazione con la carta.
riporto solo quelli usati per poi effettuare l'autenticazione con la carta.
C.1) inserire il lettore e verificare che lo riconosca
$ opensc-tool --list-readers -v
# Detected readers (pcsc)
Nr. Card Features Name
0 No ACS ACR38U 00 00
$ opensc-tool --list-readers -v
# Detected readers (pcsc)
Nr. Card Features Name
0 No ACS ACR38U 00 00
Questo indica che il lettore è stato riconosciuto, se non viene riconosciuto si
dovrebbe avere un errore del tipo:
No smart card readers found.
dovrebbe avere un errore del tipo:
No smart card readers found.
C.2) inserire la tessera nel lettore e verificare che venga vista
$ opensc-tool --list-readers -v
# Detected readers (pcsc)
Nr. Card Features Name
0 Yes ACS ACR38U 00 00
[...cut...] CNS card
$ opensc-tool --list-readers -v
# Detected readers (pcsc)
Nr. Card Features Name
0 Yes ACS ACR38U 00 00
[...cut...] CNS card
C.3) ulteriore verifica
$ opensc-tool -n
Using reader with a card: ACS ACR38U [...]
CNS card
$ opensc-tool -n
Using reader with a card: ACS ACR38U [...]
CNS card
C.4) verificare che i driver installati siano funzionanti per autenticarsi con la CNS
$ pkcs15-tool --list-pins -v
Using reader with a card: ACS ACR38U 00 00
Connecting to card in reader ACS ACR38U 00 00...
[...]
Using card driver Italian CNS.
Trying to find a PKCS#15 compatible card...
Found NOME COGNOME!
Card has 0 Authentication object(s).
$ pkcs15-tool --list-pins -v
Using reader with a card: ACS ACR38U 00 00
Connecting to card in reader ACS ACR38U 00 00...
[...]
Using card driver Italian CNS.
Trying to find a PKCS#15 compatible card...
Found NOME COGNOME!
Card has 0 Authentication object(s).
se esce così (come esce su stable), allora vuol dire che i driver non sono funzionanti.
$ pkcs15-tool --list-pins
Using reader with a card: ACS ACR38U 00 00
PIN [PIN CNS1]
[...]
Using reader with a card: ACS ACR38U 00 00
PIN [PIN CNS1]
[...]
PIN [PUK CNS1]
[...]
[...]
Se invece esce così (una sezione per il PIN e una per il PUK) vuol dire che i driver
sono funzionanti e la CNS può essere usata per autenticarsi.
sono funzionanti e la CNS può essere usata per autenticarsi.
***********************************************************************
D) verifica che il PIN non sia bloccato e se è bloccato come sbloccarlo
***********************************************************************
$ pkcs15-tool --list-pins
PIN [PIN CNS1]
[...]
Tries left : 0
PIN [PUK CNS1]
[...]
Tries left : 0
[...]
Tries left : 0
Notare che qui dovrebbero essere indicati anche i tentativi restanti sia per il PIN che
per il PUK, ma a me viene visualizzato 0... e io interpreto come se avessi esaurito
tutti i tentativi, mentre penso debba essere visualizzato 3.
In rete ho trovato che "This should show tries-left for each PIN. tries-left : 0 means
pin is blocked.", ma a me visualizza 0 e la carta non è bloccata, ma funzionante.
Notare che se la carta è bloccata e si cerca di autenticarsi ad un sito web viene
richiesto il PIN, non viene permesso l'ingresso, ma non viene visualizzato il motivo,
cioè non è indicato esplicitamente che il PIN è bloccato (così era successo a me tempo fa).
per il PUK, ma a me viene visualizzato 0... e io interpreto come se avessi esaurito
tutti i tentativi, mentre penso debba essere visualizzato 3.
In rete ho trovato che "This should show tries-left for each PIN. tries-left : 0 means
pin is blocked.", ma a me visualizza 0 e la carta non è bloccata, ma funzionante.
Notare che se la carta è bloccata e si cerca di autenticarsi ad un sito web viene
richiesto il PIN, non viene permesso l'ingresso, ma non viene visualizzato il motivo,
cioè non è indicato esplicitamente che il PIN è bloccato (così era successo a me tempo fa).
Per avere il messaggio che indica che il PIN è bloccato, visto che con il comando
precedente almeno a me non ritorna un risultato corretto penso bisogni effettuare
un'operazione a riga di comando, ad esempio eseguire un test di inserimento PIN o firmare
un documento (richiede il PIN), ... e passare sempre -v come parametro. Una volta inserito
il PIN si dovrebbe avere il messaggio di errore che il PIN è bloccato.
precedente almeno a me non ritorna un risultato corretto penso bisogni effettuare
un'operazione a riga di comando, ad esempio eseguire un test di inserimento PIN o firmare
un documento (richiede il PIN), ... e passare sempre -v come parametro. Una volta inserito
il PIN si dovrebbe avere il messaggio di errore che il PIN è bloccato.
Per sbloccarlo (non l'ho provato) dovrebbe essere il seguente comando:
pkcs15-tool --unblock-pin --puk $PUK --new-pin $NEW_PIN
pkcs15-tool --unblock-pin --puk $PUK --new-pin $NEW_PIN
Dove $PUK è il PUK della CNS e $NEW_PIN è il nuovo PIN che si vuole impostare.
ATTENZIONE: se si sbaglia il PUK (penso per 3 volte) la CNS viene bloccata e probabilmente
bisogna richiedere la riattivazione o la sostituzione.
ATTENZIONE: se si sbaglia il PUK (penso per 3 volte) la CNS viene bloccata e probabilmente
bisogna richiedere la riattivazione o la sostituzione.
Sarebbe interessante sapere se qualcuno che ha installato i driver del ministero o altri
ha lo stesso problema sul numero di tentativi rimasti. Se è così si può aprire un bug
report.
ha lo stesso problema sul numero di tentativi rimasti. Se è così si può aprire un bug
report.
***********************
E) esecuzione auto-test
***********************
sono dei test di diagnostica, eseguiti con il comando pkcs11-tool, ci sono due tipi:
E) esecuzione auto-test
***********************
sono dei test di diagnostica, eseguiti con il comando pkcs11-tool, ci sono due tipi:
E.1) verifica che tutto funzioni con l'inserimento a caldo del lettore e CNS (usare anche
-v per ulteriori dettagli). Si può inserire togliere la tessera e mettere diverse tessere
(ad esempio la vecchia e la nuova)
$ pkcs11-tool --test-hotplug -v
[...]
token flags : [...] user PIN locked
[...]
-v per ulteriori dettagli). Si può inserire togliere la tessera e mettere diverse tessere
(ad esempio la vecchia e la nuova)
$ pkcs11-tool --test-hotplug -v
[...]
token flags : [...] user PIN locked
[...]
quindi c'è un errore, non intercetta il valore corretto per i tentativi rimanenti.
Lo stesso sulla tessera vecchia.
Lo stesso sulla tessera vecchia.
E.2) test vari, maggiori test si possono ottenere usando anche l'opzione --login o --pin
$ pkcs11-tool -tv
$ pkcs11-tool -tv --login
$ pkcs11-tool -tv
$ pkcs11-tool -tv --login
la seconda mi dice:
WARNING: user PIN locked
WARNING: user PIN locked
però mettendo il PIN poi fa i test ed è tutto ok
L'importante è che in fondo ci sia la scritta:
No errors
No errors
******************************************
F) configurare in Firefox l'uso dei driver
******************************************
Questa operazione deve essere fatta solo una volta:
F) configurare in Firefox l'uso dei driver
******************************************
Questa operazione deve essere fatta solo una volta:
* Aprire Firefox
* Modifica -> Impostazioni -> Privacy e sicurezza -> Dispositivi di sicurezza (è il
bottone in fondo a destra della pagina)
* Carica
* come "Nome modulo" può essere messo quello che si vuole, ad esempio "CNS PKCS#11"
* come "Nome file modulo" bisogna indicare dove è la libreria:
/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
* Modifica -> Impostazioni -> Privacy e sicurezza -> Dispositivi di sicurezza (è il
bottone in fondo a destra della pagina)
* Carica
* come "Nome modulo" può essere messo quello che si vuole, ad esempio "CNS PKCS#11"
* come "Nome file modulo" bisogna indicare dove è la libreria:
/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so
*************************************
G) autenticarsi con la CNS in Firefox
*************************************
andare su un sito web, es: https//www.inps.it e fare l'accesso con CNS.
Se non viene richiesto il PIN e viene visualizzato un errore, allora eseguire in
sequenza una delle seguenti e poi riprovare ad autenticarsi, se non funziona provare
con la successiva (questo problema di solito capita quando si sono appena installati
i driver o si è appena configurato Firefox ad usarli):
G.1) riavviare i servizi
# systemctl restart pcscd pcscd.socket
G.2) chiudere e riaprire il browser (tutte le istanze di Firefox)
G.3) riavviare la sessione o la macchina (questo non dovrebbe mai essere necessario)
Facci sapere se riesci a risolvere.
Ciao
Davide
--
La mia privacy non è affar tuo
https://noyb.eu/it
- You do not have my permission to use this email to train an AI -
If you use this to train your AI than you accept to distribute under AGPL
license >= 3.0 all the model trained, all the source you have used to
training your model and all the source of the program that use that model
La mia privacy non è affar tuo
https://noyb.eu/it
- You do not have my permission to use this email to train an AI -
If you use this to train your AI than you accept to distribute under AGPL
license >= 3.0 all the model trained, all the source you have used to
training your model and all the source of the program that use that model

