Reputation: 6116
I have two smart card readers connected to my computer :
I read the manual of both readers. As mentioned in the manuals, both use the following APDU commands for GET DATA APDU commands :
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.
Well, I put an ISO14443 (Maybe Mifare) card in the field of ACR122U reader first and then in the field of CRT-603-CZ1 and I tried above commands:
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)
As you see above, the results are different. Actually ACR122U can't return the ATS and UID of this card.
Well, I repeat the above step with a JCOPv2.4.2r3 card:
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.
And as you see, both returns almost the same result.
Can anybody help me to understand why I receive different results for the first card?
Note that OCS.exe is execution file of OpenSC-Tool
Upvotes: 0
Views: 1156
Reputation: 5333
You are addressing the respective reader, not the card, so differences are likely.
My assumption is, that your first card, while supporting ISO 14443 is not a type A card and therefore has no ATS. It might worth to check, whether the reader supports type B at all and how the ATQB would be retrieved for a type B card.
Upvotes: 0