gpt4 book ai didi

nfc - 如何找到我本地交通卡的 AID 号码?

转载 作者:行者123 更新时间:2023-12-04 02:15:36 24 4
gpt4 key购买 nike

我有一张城市交通卡。我需要知道卡的援助(应用程序标识符)号码是多少。根据 EMV Book 1,我必须使用 List of AIDs 方法(第 141 页)。但是如何呢?

我还有一个 ACR122U 读卡器。我可以向卡发送 APDU 命令。我只需要卡片的帮助。此外,我总是收到 SW=6A82 错误。这意味着“找不到文件”。我想,我需要知道真正的 AID 号码来解决这个问题。我想看到 SW=9000(成功)响应...

编辑:创建选择 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

    其中 id 的范围从 0000FFFF

  2. 收到 SW=9000 后,响应应包含文件控制信息(FCI,请参阅第 5.6 节)。然后,您可以在字节 84 之后找到 DF 名称。比如卡片响应

    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 名称4E 43 2E 65 43 61 72 64 2E 44 46 30 3184后的字节0D表示DF name的长度为0x0D。您可以将其用作 AID。

关于nfc - 如何找到我本地交通卡的 AID 号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34145742/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com