[英]How to find AID number of my local transportation card?
我有一張城市交通運輸卡。 我需要知道卡的幫助(應用程序標識符)號是多少。 根據EMV手冊1,我必須使用AID列表方法(第141頁)。 但是如何?
我也有一個ACR122U讀卡器。 我可以向卡發送APDU命令。 我需要的只是卡的AID。 另外,我總是得到SW = 6A82錯誤。 這意味着“找不到文件”。 我想,我需要知道真實的AID號才能解決此問題。 我想看到SW = 9000(成功)響應...
編輯:用於創建select apdu命令的代碼
private static final byte[] CLA_INS_P1_P2 = { 0x00, (byte)0xA4, 0x04, 0x00 };
private static final byte[] AID_ANDROID = { (byte)0xF0, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 };
private byte[] createSelectAidApdu(byte[] aid) {
byte[] result = new byte[6 + aid.length];
System.arraycopy(CLA_INS_P1_P2, 0, result, 0, CLA_INS_P1_P2.length);
result[4] = (byte)aid.length;
System.arraycopy(aid, 0, result, 5, aid.length);
result[result.length - 1] = 0;
return result;
}
謝謝..
通常,您應該查找卡文檔,其中應描述文件的組織方式。
但是,由於您正在讀取ISO-DEP卡,因此可以參考ISO/IEC CD 7816-4
。 該卡應執行本標准中的部分說明。 根據5.2節,可以使用其標識符選擇文件,這意味着您可以枚舉MF
所有文件。
因此,可能的解決方案是:
通過標識符指令發送選擇文件為
00 A4 00 00 02 id 00
id
在0000
到FFFF
。
一旦收到SW=9000
,響應應包含文件控制信息(FCI,請參見第5.6節)。 然后,您可以在字節84
之后找到DF name
。 例如,卡片回應
6F 15 84 0D 4E 43 2E 65 43 61 72 64 2E 44 46 30 31 A5 04 9F 08 01 02 90 00
,
DF name
為4E 43 2E 65 43 61 72 64 2E 44 46 30 31
。 84
之后的字節0D
表示DF name
的長度為0x0D
。 您可以將其用作AID。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.