看板 C_and_CPP 關於我們 聯絡資訊
最近在撰寫一個讀卡機程式,翻閱了網路上的資料, 知道如何讀取金融卡、健保卡、自然人憑證, 也都能成功讀取(其實只要參數下的對都沒有難度)。 但是對於讀取過程中所下的APDU COMMAND不是了解的很透徹, 嘗試的對空白卡下SELECT FILE COMMAND EX: BYTE pbSendBuffer[] = {0x00,0xA4,0x00,0x00,0x02,0x3F,0x00};// Select MF rv = SCardTransmit(hCard, &SendPci, pbSendBuffer, dwSendLength, &RecvPci, pbRecvBuffer, &dwRecvLength); String sw1 = IntToHex(pbRecvBuffer[dwRecvLength-2] , 2); String sw2 = IntToHex(pbRecvBuffer[dwRecvLength-1] , 2); 上面pbSendBuffer所下的命令,應該是select卡片中的Master File 但是我所得到的回傳值sw1和sw2卻是6A 86,查詢了標準規格得知, 這個response代表 Incorrect parameters P1-P2 也就是我下的參數錯誤(0x00 , 0x00),我不知道這問題出在哪裡, 網路上所查到的資料,參數也都是這樣下, 還是空白卡一開始的時候是沒有MF存在嗎? 開發平台: BCB 6 補充說明: 希望有前輩高人不吝指教,我主要只是要能對空白卡做讀寫的動作, 但卻被這問題卡住一整天..,希望大家多幫忙了。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.200.189 ※ 編輯: evileva 來自: 59.126.200.189 (11/03 18:56)