簡體   English   中英

如何找到我當地交通卡的AID號?

[英]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所有文件。

因此,可能的解決方案是:

  1. 通過標識符指令發送選擇文件為

    00 A4 00 00 02 id 00

    id0000FFFF

  2. 一旦收到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 name4E 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM