首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到我当地交通卡的身份证号码?

如何找到我当地交通卡的身份证号码?
EN

Stack Overflow用户
提问于 2015-12-08 00:08:08
回答 1查看 2.4K关注 0票数 3

我有一张城市交通卡。我需要知道这个卡的辅助号码(应用标识符)是什么。根据EMV第一册,我必须使用艾滋病方法清单(第141页)。但是怎么做呢?

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

编辑:创建选择apdu命令的代码

代码语言:javascript
复制
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;
}

谢谢..

EN

回答 1

Stack Overflow用户

发布于 2015-12-08 08:21:36

通常,您应该查找卡片文档,这些文档应该描述文件的组织方式。

但是,由于您正在阅读ISO卡,您可以参考ISO/IEC CD 7816-4。卡应执行本标准中的部分说明。根据5.2节,可以使用它的标识符来选择该文件,这意味着您可以枚举位于MF中的所有文件。

因此,一个可能的解决办法是:

  1. 按标识符指令发送选择文件 00 A4 00 00 02 id 00 id的范围从0000FFFF
  2. 一旦收到SW=9000,响应应该包含文件控制信息(FCI,参见第5.6节)。然后,您可以在字节DF name之后找到84。例如,一张卡片响应。 6F 15 84 0D 4E 43 2E 65 43 61 72 64 2E 44 46 30 31 A5 04 9F 08 01 02 90 00DF name4E 43 2E 65 43 61 72 64 2E 44 46 30 310D后面的字节84表示DF name的长度为0x0D。你可以用它作为AID。
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34145742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档