[gl-como] CRS appunti su come leggerla

Jio jiojio74@gmail.com
Lun 14 Nov 2011 13:16:38 CET


Credo di aver capito la logica di come è strutturato il file:
Questo è quanto ho letto sinora, convertito in ascii:
0000680460300805102010080510201606XXXXXX07XXXXXXX08XXXXXXXX01M0010XXXXXX33000004C9330000
000068 numero misterioso
04 è la lunghezza del primo campo che segue
6030 primo campo misterioso
08 lunghezza secondo campo
05102010 secondo campo: data di rilascio della tessera ggmmaaaa
08 lunghezza terzo campo
05102016 terzo campo: data scadenza tessera ggmmaaaa
06 lunghezza quarto
XXXXXX cognome!
07 lunghezza quinto
XXXXXXX nome!
08 lughezza sesto
XXXXXXXX data di nascita
01 lunghezza settimo
M sesso
0010 lunghezza ottavo da qui in avanti aggiunge uno 00 in più alla
lungehzza dei campi
XXXXXX3300 prime sei lettere del codice fiscale più boh?
0004 lunghezza nono
C933 codice belfiore che è anche parte del CF
0000 EOF? poi son tutti 00
Certo che avere un minimo di documentazione su come son fatti 'sti
file! L'unica cosa che ho trovato è:
EF.Dati_Personali – il file è conforme al Decreto 9 dicembre 2004
“Regole tecniche e di
sicurezza relative alle tecnologie e ai materiali utilizzati per la
produzione della carta
nazionale dei servizi”.
che a sua vola mi rimanda a:
L’interpretazione dei dati è a carico del chiamante. Il formato dei
file binari specificati dal progetto
CNS, in particolare del file EF.DatiPersonali, è pubblicato da CNIPA
nel documento:
http://www.cnipa.gov.it/site/_files/LineeguidaCNS(v3.0).rtf
che non esiste più!


2011/11/14 ADB <albeluci@gmail.com>:
> Interessante...il primo esperimento che ho fatto con la CRS risale a
> qualche mese fa, dove sono solo riuscito a vedere che il lettore la
> riconosceva e basta poi non ho avuto più tempo nè voglia e ho piantato
> tutto lì..
>
> Visto che invece hai ottenuto questi risultati, quando mi capita in
> mano il lettore usb di smarcard ci ritento..
>
> albertux
>
> Il 14 novembre 2011 11:28, Jio <jiojio74@gmail.com> ha scritto:
>> Ed eccomi coi primi risultati, magari qualcuno può darmi qualche riscontro:
>> Innanzitutto deve esserci pcsc-lite installato.
>> Io ho il lettore della regione della bit4id
>> lanciando pcsc_scan si può tener traccia se la carta è inserita o meno.
>> Ho notato che la prima volta che la si inserisce spesso non viene
>> riconosciuta, riprovate più volte sintanto che il led non rimane fisso
>> e/o pcsc_scan non mostra che è riconosciuta:
>> "Card state: Card inserted," ecc...
>> con pcsc_lite c'è scriptor che serve per comandare la crs.
>> scriptor può ricevere un file di comandi.
>> Questo è quello che ho preparato:
>> $nano leggiEF.Dati_Personali
>>
>> reset
>> 00 A4 00 00 02 11 00 00
>> 00 A4 00 00 02 11 02 00
>> 00 B0 00 00 08
>> 00 B0 00 08 08
>> 00 B0 00 10 08
>> 00 B0 00 18 08
>> 00 B0 00 20 08
>> 00 B0 00 28 08
>> 00 B0 00 30 08
>> 00 B0 00 38 08
>> ecc...
>>
>> La prima riga è il reset che riporta i puntatori dei file al MF
>> (l'equivalente della root)
>> La seconda seleziona la cartella DF1 (0x1100) l'identificativo della
>> cartella è contenuto nel terzultimo e penultimo byte
>> La terza seleziona il file EF.Dati_Personali (0x1102) anche qui l'id
>> del file è nel terzultimo e penultimo byte
>> Dalla quarta riga in poi vengono letti i dati: i primi due byte sono
>> il comando di lettura del file corrente (ox00 B0), poi ci sono due
>> byte per indicare l'offset ed il quinto è quanti byte leggere (0x08)
>> non so se è una limitazione di scriptor o della carta, ma non si
>> possono leggere più di 8 byte per volta.
>> Dando il file in pasto a scriptor, eliminando un pò di roba che non ci serve:
>> $scriptor leggiEF.Dati_Personali |grep "Normal"
>> No reader given: using Pertosmart Card Reader 00 00
>> Using given file: provaleggicrs
>> < 30 30 30 30 36 38 30 34 90 00 : Normal processing.
>> < 36 30 33 30 30 38 30 35 90 00 : Normal processing.
>> < 31 30 32 30 31 30 30 38 90 00 : Normal processing.
>> < 30 35 31 30 32 30 31 36 90 00 : Normal processing.
>> < 30 36 54 49 52 4F 4E 49 90 00 : Normal processing.
>> < 30 37 47 49 4F 53 55 45 90 00 : Normal processing.
>> < 27 30 38 32 31 30 35 31 90 00 : Normal processing.
>> < 39 37 34 30 31 4D 30 30 90 00 : Normal processing.
>> ...
>> Ecco il nostro bellissimo file e all'offset 0x0022 trovo il mio
>> cognome in ascii!
>> Le righe iniziano col carattere "<" seguito dagli 8 byte dei dati
>> richiesti, poi c'è 0x9000 che credo sia un codice di ritorno, ":" e la
>> descrizione del codice
>>
>> Ora, visto che sono una ciofeca con le espressioni regolari, se
>> qualche anima pia mi facesse uno scriptino per prendere questo output,
>> tirasse fuori solo gli 8 byte di dati e li convertisse in ascii, si
>> potrebbero identificare tutti i campi.
>> L'idea balorda che ho in mente è quella di sostituire un timbratore
>> con uno sheevaplug o un dreamplug o un eeepc o un vecchio portatile,
>> collegarlo ad un lettore CRS ed alla rete ed avere un timbratore
>> digitale per crs alla metà del prezzo.
>> Che ne dite?
>>
>> 2011/11/11 Jio <jiojio74@gmail.com>:
>>> Oggi mi sono dilettato un pò a cercare di leggere i dati contenuti
>>> nella CRS, vi premetto subito senza risultati di nota.
>>> Innanzitutto ho installato tempo addietro pcsc-lite e non mi ricordo
>>> come e non sembrava funzionare (su fedora)
>>> Oggi ho buttato dentro la CRS ed ho lanciato pcsc_scan e me ne sono
>>> andato, al ritorno vedo il led verde fisso anzichè lampeggiante e lo
>>> scan che riporta:
>>>  Reader 0: Pertosmart Card Reader 00 00
>>>  Card state: Card inserted,
>>>  ATR: 3B DF 18 00 81 31 FE 7D 00 6B 15 0C 01 81 01 11 01 43 4E 53 10 31 80 E8
>>>
>>> WOW!
>>> Allora cerco info e trovo
>>> http://www.crs.lombardia.it/ds/Satellite?c=Page&childpagename=CRS%2FCRSLayout&cid=1213352757655&p=1213352757655&packedargs=locale%3D1194453881584&pagename=CRSWrapper&rendermode=previewnoinsite
>>> Che dice che la CRS si rifà agli standard: ISO-7816 e ISO-14443
>>> Cerco in giro e trovo che in pcsc-lite c'è il comando scriptor per
>>> mandare comandi alle smartcard. Problema: quali comandi?
>>> Nel link sopra mi rimanda a digitpa.gov.it dopo un pò di ricerche ecco
>>> le specifiche tecniche coi comandi:
>>> http://www.digitpa.gov.it/node/45
>>> Che interessano sono i primi due file.
>>> Non ho capito bene come si seleziona un file, ma ho avuto giusto quei
>>> dieci minuti per leggere la documentazione.
>>> Ad ogni modo scriptor qualcosa fa perchè almeno i messaggi di errore
>>> hanno un senso (wrong lenght e file not found quando cerco di aprire
>>> un file a caso)
>>> Da quel che ho capito: prima devo cambiare cartella e poi leggere il
>>> file e qui viene in aiuto il secondo file della documentazione.
>>> Se qualcuno ha tempo per sperimentare mi faccia sapere.
>>> Ora devo scappare, ma nel w-e magari mi cimento
>>>
>>
>> --
>> Mailing list info: http://lists.linux.it/listinfo/gl-como
>>
>
>
>
> --
>  "Arciere" dal lontano 2009 ma "Pinguino" dal 1998.
>
> --
> Mailing list info: http://lists.linux.it/listinfo/gl-como
>


Maggiori informazioni sulla lista gl-como