2012-10-24 21 views
6

sto cercando APDU per trovare UID di contatto meno ISO 14443 smart card e come usarlo per stampare su terminale Linux. Il problema è che ho trovato molte persone a parlarne, ma non c'è una soluzione. Qualcuno può aiutare è questo riguardo ??? GrazieComando APDU per ottenere smart card uid

risposta

7

Vedere lo other answer, è probabile che la maggior parte dei lettori ora supporti il ​​passaggio al lettore di schede.


Nessuno può aiutare come è specificato l'UID nella ISO 14443 protocollo di trasporto T = CL mentre APDU del sono specificati nel protocollo di livello applicativo ISO 7816.

Quindi è necessario accedere a un'API di livello inferiore per il lettore senza contatto. PCSC non è sufficiente (a meno che non sia stato implementato un passaggio per il lettore specifico che restituisce l'UID).

+0

Quindi, quello che potrebbe essere il modo possibile leggere UID di smart card mentre si lavora con PCSC -Light? – Salman

+0

Vorrei dare un'occhiata alle librerie dei lettori sottostanti. PCSC è stato inizialmente realizzato per i lettori di contatti. Il problema è che qualsiasi cosa al di là di PCSC è probabilmente un driver proprietario. –

+0

L'UID 'è specifico per ogni carta senza contatto nel mondo? (cioè non ci sono due carte diverse con UID uguale?) È fisso o è un numero casuale per sessione? Perché ne abbiamo bisogno? Solo per il meccanismo Anti-collisione? – Abraham

9

"Comando di acquisizione dati" è definito in PCSC 3 v2. Se il driver è PCSC v2 compatibile, è possibile ottenere UID usarlo:

Class = 0xFF 
INS = 0xCA 
P1 = 0x00 
P2 = 0x00 
Le = 0x00 (return full length: ISO14443A single 4 bytes, double 7 bytes, triple 10 bytes, for ISO14443B 4 bytes PUPI, for 15693 8 bytes UID) 

valore restituito è:

Data+SW1SW2 
+0

Un comando Linux per leggere l'UID utilizzando opensc: opensc-tool --send-apdu FF: CA: 00: 00: 00 --wait –

+0

Grazie a @nchokoev! Risolto il mio problema con pcsclite (adattamento del nodo) – Stilmittel

Problemi correlati