Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
356 views
in Technique[技术] by (71.8m points)

java - 6A82 APDU communication issue between NFC enabled Android phone and ISO/IEC 14443-4 Smart Card

I'm currently working with an Android payment application using NFC.For this purpose Android application need to send and receive APDU commands to ISO/IEC 14443-4 Smart Card.

When i test my application using Galaxy S5(OS 4.4.2) , or Galaxy s3(OS 4.1.2) I'm getting 6A82

My Code flow is going like below:

1st step ->

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
 IsoDep iso = IsoDep.get(tag); 
 iso.connect();

2nd step -> By using iso.transceive().. I'm sending APDU command 0084000008 from Mobile Application to Smard Card and receiving F5BC9C9F3A2B7C179000 as response.

3rd Step -> using iso.isConnect() I'm checking the connection and -> Connection available

4th Step -> By using iso.transceive().. sending APDU command : 903203000A1403CF549C2B7520389C receiving : 6A82 All the time

I would be happy if anyone suggest me why I'm getting strange File not found (6A82) for this APDU command.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

after calling iso.connect() you should send select apdu first 00A40400 + for example :

(u should convert hex to bytes first)

aid = AABBCCDD;

byte[] selectCmd = 00A4040004AABBCCDD

isoDep.transceive(command)

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...