2012-10-24 11 views
6

Ich bin auf der Suche nach APDU zu finden UID von Kontakt weniger ISO 14443 Smartcard und wie man es verwendet, um in Linux-Terminal zu drucken. Problem ist, dass ich viele Leute rede, aber es gibt keine Lösung. Kann mir jemand helfen ist dieser Hinweis ??? DankeAPDU-Befehl, um Smartcard-UID zu erhalten

Antwort

7

Siehe die other answer, ist es wahrscheinlich, dass die meisten Leser die Pass bis zum Kartenleser jetzt unterstützen.


Niemand kann helfen, wie die UID in der ISO 14443 T = CL-Transportprotokoll angegeben wird, während APDUs angegeben sind in der ISO 7816 Protokoll der Anwendungsschicht.

Sie benötigen also Zugriff auf eine API der unteren Ebene für Ihren kontaktlosen Leser. PCSC wird nicht ausreichen (es sei denn, es wurde ein Pass-Through für den spezifischen Leser implementiert, der die UID zurückgibt).

+0

Also, was die Art und Weise sein könnte UID von Smart Card zu lesen, während mit PCSC Arbeits -Lite? – Salman

+0

Ich würde mir die zugrunde liegenden Reader-Bibliotheken ansehen. PCSC wurde ursprünglich für Kontaktleser entwickelt. Das Problem ist, dass alles, was über PCSC hinausgeht, wahrscheinlich proprietäre Treiber sein wird. –

+0

Ist 'UID' spezifisch für jede kontaktlose Karte in der Welt? (d. h. gibt es nicht zwei verschiedene Karten mit gleicher UID?) Ist es eine feste oder eine zufällige Zahl pro Sitzung? Warum brauchen wir es? Nur für Antikollisionsmechanismus? – Abraham

9

"Get Data Command" ist in PCSC 3 v2 definiert. Wenn Ihr Treiber ist PCSC v2 kompatibel ist, können Sie UID erhalten mit ihm:

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) 

Rückgabewert ist:

Data+SW1SW2 
+0

Ein Linux-Befehl zum Lesen der UID mit opensc: opensc-tool --send-apdu FF: CA: 00: 00: 00 - warten –

+0

Dank @chchokoev! Mein Problem mit pcsclite gelöst (Knotenadaption) – Stilmittel

Verwandte Themen