2015-07-22 30 views
0

我有兩個智能卡讀卡器連接到我的電腦:兩個讀者有不同的響應GET DATA命令

  1. ACS ACR122U非接觸式讀卡器
  2. CRT-603-CZ1非接觸式讀卡器

我看兩者的手冊讀者。正如在說明書中提到,無論是使用下面的APDU命令爲GET DATA APDU命令:

CLA | INS |  P1 | P2 | Le 
0xFF | 0xCA | 0x00/0x01 | 0x00 | 0x00 

P1 = 0x00 --> UID will return. 
P1 = 0x01 --> ATS or Historical Byte of ATS will return. 

好了,我把一個ISO14443(可能的Mifare)卡ACR122U閱讀器領域第一個,然後在CRT-603-CZ1和我的字段上方嘗試命令:

OSC:> OSC.exe -r "ACS ACR122 0" -s FFCA000000 
Failed to connect to card: Card is invalid or cannot be handled 

OSC:> OSC.exe -r "ACS ACR122 0" -s FFCA010000 
Failed to connect to card: Card is invalid or cannot be handled 

OSC:> OSC.exe -r "CREATOR CRT-603 (CZ1) CCR RF 0" -s FFCA000000 
Sending: FF CA 00 00 00 
Received (SW1=0x00, SW2=0x00): 
FF 16 7F 29 ...) 

OSC:> OSC.exe -r "CREATOR CRT-603 (CZ1) CCR RF 0" -s FFCA010000 
Sending: FF CA 01 00 00 
Received (SW1=0x90, SW2=0x00) 

正如所看到的上面,結果是不同的。其實ACR122U無法返回此卡的ATS和UID。

嗯,我重複了JCOPv2.4.2r3卡上面的步驟:

OSC:> OSC.exe -r "ACS ACR122 0" -s FFCA000000 
Sending: FF CA 00 00 00 
Received (SW1=0x90, SW2=0x00): 
EF B6 09 2E .... 

OSC:> OSC.exe -r "ACS ACR122 0" -s FFCA010000 
Sending: FF CA 01 00 00 
Received (SW1=0x90, SW2=0x00): 
0E 78 F7 B1 02 4A 43 4F 50 32 34 32 52 33 .x...JCOP242R3 

OSC:> OSC.exe -r "CREATOR CRT-603 (CZ1) CCR RF 0" -s FFCA000000 
Sending: FF CA 00 00 00 
Received (SW1=0x00, SW2=0x00): 
EF B6 09 2E .... 

OSC:> OSC.exe -r "CREATOR CRT-603 (CZ1) CCR RF 0" -s FFCA010000 
Sending: FF CA 01 00 00 
Received (SW1=0x90, SW2=0x00): 
4A 43 4F 50 32 34 32 52 33 00 JCOP242R3. 

正如你看到的,幾乎返回相同的結果。

任何人可以幫助我瞭解爲什麼我收到不同結果的第一張牌?

注意OCS.exe是OpenSC-Tool

回答

0

您正在解決各自讀者,不卡執行文件,所以差異是可能的。

我的假設是,你的第一張卡,同時支持ISO 14443是不是一個類型的卡,因此沒有ATS。它可能值得檢查,閱讀器是否支持類型B,以及如何爲B類卡檢索ATQB。

+0

感謝you.For的第一張牌,ACR122 doen't返回UID,但CRT-603返回。爲什麼?對於第二張卡片,兩個作品都是平等的。 – Abraham

+0

_您正在尋址各自的讀卡器,而不是卡片_我無法在OpenSC-Tool中尋址卡片。此外,該界面中只有一張卡,我認爲它不會做任何改變。 – Abraham