I've got a contactless chip card (not bank or SIM) which I can interact by NFC channel (ISO14443, ISO 7816 Part 4).
All I want to get from this card is getting of UID of the card, which can help me to differ one card from others. As I understand this is PAN value which I can get under the tag '5A'.
Firstly, I can send this command to the card
00:a4:04:00:0e:32:50:41:59:2e:53:59:53:2e:44:44:46:30:31:00
and get positive answer (SW:9000) with the AID value.
So, I have AID and I can send such command
00:a4:04:00:LеnAID:<AID>:00
to open file for reading TLV-based info under different Tag, am I right?
But when I send ('5A' - tag for PAN)
00:CA:00:5A:00
I have bad response -> 6E:00
So,
1)Should I change Class value (CLA = 00 for right now)? And for what value?
2)Maybe I have to change INS value for READ RECORD (B0 or B2 or something else) because "The kernel uses the value of the AFL (i.e. tag ‘94’) to issue one or more READ RECORD commands retrieve the Application data elements", in my case tag '5A' for PAN. If so, what the complete workflow should be for getting PAN?
UPD. When I sent
ff:ca:00:00:00
I receive
6e:00
FF CA 00 00 00
command to a Mastercard credit card and I got the UID of the card. What card and reader are you using? If the card is ISO 14443 you can use this command to get the UID. It is defined in PCSC extensions for contactless. Do you get an "ATR" when you tap your card to the your reader? You can check PCSC specs to identify which type of card you are using. – jlanza