Два считывателя по-разному реагируют на команду 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< /эм>


person Ebrahim Ghasemi    schedule 22.07.2015    source источник


Ответы (1)


Вы обращаетесь к соответствующему считывателю, а не к карте, поэтому вероятны различия.

Я предполагаю, что ваша первая карта, хотя и поддерживает ISO 14443, не является картой типа A и, следовательно, не имеет ATS. Возможно, стоит проверить, поддерживает ли ридер вообще тип B и как будет извлекаться ATQB для карты типа B.

person guidot    schedule 22.07.2015
comment
Спасибо. Для первой карты ACR122 не возвращает UID, но CRT-603 возвращает его. Зачем? Для второй карты оба работают одинаково. - person Ebrahim Ghasemi; 22.07.2015
comment
Вы обращаетесь к соответствующему считывателю, а не к карте Я не могу обратиться к карте в OpenSC-Tool. более того, в этом интерфейсе только одна карта, и я не думаю, что она может что-то изменить. - person Ebrahim Ghasemi; 22.07.2015