java - 读取智能卡文件

标签 java smartcard apdu

我正在尝试读取智能卡文件,经过长时间的搜索,我现在可以发送 APDU 命令来选择 MF(主文件),但我需要访问 EF(基本文件),这是我发送的命令:

ResponseAPDU r = channel.transmit(new CommandAPDU(new byte[] { 0X00,(byte) 0XA4, 0X00, 0X00, 0X02, 0X3F, 0X00 }));

这是回复:

6F 1C 82 01 38 83 02 3F 00 85 02 03 7F 86 0C 7F 7F 7F 7F 41 60 60 7F 7F 7F 60 00 8A 01 05 90 00

我知道我得到了积极的响应 90 00 ,那么接下来我应该做什么才能访问 EF。

最佳答案

您现在需要选择一个文件并使用相同的命令选择它。如果您 Google ISO7816-4,您会发现一些描述读取二进制和读取记录命令的站点。取决于您选择的文件类型。不过,没有用于列出 DF 和 EF 的标准 ISO 命令。首先尝试 EFICCID (2FE2 IIRC),它存在于大多数卡中。

关于java - 读取智能卡文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22619595/

相关文章:

Java 卡 APDU 删除命令给出 '69' '85' 错误代码

c - 如何将数据写入 Mifare classic 标签

java - 将中型代码库从 Java 1.4.2 迁移到 Java 5 的策略

c# - 移除 X509Certificate2 对象的智能卡时的事件

java - 如何验证 Java 卡上是否已安装小程序

smartcard - JavaCard:小程序的实例如何调用另一个实例的上下文中的方法?

java - DoD CAC ADPU 命令

java - 如何在单独的文件中组织我的处理代码?

java - 在 Java Swing GUI 中显示和操作 ArrayList

java - 为什么 InputStream.close() 声明抛出 IOException?