简体   繁体   中英

Unable to read information from Contact VISA Card using APDU commands

I am using the Telpo TPS300 POS terminal to try and read information from a VISA bank Card. The terminal comes with C libraries so sending commands is a lot more easier. However the when I run the SELECT APDU command (00 A4 04 00 )Lc=0, it returns the following hex data 18byte long as below 6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65 01 FF. I read the ISO 7816-4 specification and the EMV specification and from the look of things, my returned data seems to be lacking one of the mandatory tag 88 as specified in EMV Specification 11.3.4 When I try to SELECT the returned DF name ie one with tag 84 (A0 00 00 00 03 00 00 00), it returns the same information. All other commands were not successful as well specifically I tried READ RECORD, VERIFY, GET PROCESSING OPTIONS, GET CHALLENGE and they all return the SW 6D 00 (Instruction code not supported or invalid). I just want to retrieve user info from the card and perform an offline authentication of the PIN using the verify command.

I have looked around the web but no one seems to answer me. I have read the standard ISO 7816-4 and EMV Specification again and again on the commands and response interactions but no luck so far because I can't go beyond this step (SELECT command response)

I am using the Telpo TPS300 POS terminal to try and read information from a VISA bank Card

As you said you tried with blank card , here information is coming from card is correct.

when you send select command like, 00 A4 04 00 00 , it select ISD - Issuer Security Domain and return ISD AID ie A0 00 00 00 03 00 00 00 with tag 9F 65 that means - Maximum length of data field in command message

Recv - 6F 10 84 08 A0 00 00 00 03 00 00 00 A5 04 9F 65 01 FF

what you receive showing AID of ISD and value of tag 9F65. it seems correct.

my returned data seems to be lacking one of the mandatory tag 88 as specified in EMV Specification 11.3.4

Tag 88 -SFI of the Directory Elementary File is come out from card when you select PSE directory with using command,

00 A4 04 00 0E 315041592E5359532E4444463031 (select PSE command)

it will give you tag 88 if PSE is installed in the card.

I tried READ RECORD, VERIFY, GET PROCESSING OPTIONS, GET CHALLENGE and they all return the SW 6D 00 (Instruction code not supported or invalid).

for reading emv card, EMV application should be installed and personalize in the card then only you can get information from the card with using sequence of commands. try- how to read emv card it gives basic idea to read emv card with sequence of commands.

hope it helps you..

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM