2014-09-02 105 views
0

我有一個讀卡器讀取與芯片的android(通過USB連接)卡。我可以連接到讀卡器並開啓卡本身。但是當我發送APDU命令時,我無法理解響應。這是我的代碼。如何從借記卡/信用卡中獲取卡號和到期日期?

String command = "00A404000E315041592E5359532E4444463031"; 
byte[] commandByte = apdu.s2ba(command); 
byte[] prevByte = new byte[30]; 
int[] prevLen = new int[1]; 
prevLen[0] = 30; 
int status = reader.SCardTransmit(commandByte, commandByte.length, prevByte, prevLen); 
Log.i("ab", Integer.toString(status)+"----"+apdu.ba2s(prevByte)); 

我得到響應

09-02 23:30:19.648 25744-25744/com.nnadir.scanertest4 I/ab﹕ 0----30: 611700000000000000000000000000000000000000000000000000000000 

,但它必須是這樣的

6F 1A 84 0E 31 50 41 59 2E 53 59 53 2E 44 44 46 30 31 A5 08 88 01 01 5F 2D 02 65 6E 

我下面this引導

回答

0

我發現,6117在APDU命令後響應顯示命令是成功的(61)和17個字節的響應。因此,我們需要發送第二個apdu命令來獲得該響應

00C0000017 - 這裏17是我們期望的字節數,現在作爲響應我們獲得我們需要的信息。

相關問題