我正在尝试读取智能卡文件,经过长时间的搜索,我现在可以发送APDU命令来选择MF(主文件),但我需要访问EF(基本文件),这里是命令i'发送:
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。
答案 0 :(得分:1)
您现在需要选择一个文件并使用相同的命令选择它。如果您使用谷歌ISO7816-4,您将找到一些描述读取二进制和读取记录命令的站点。取决于您选择的文件类型。但是,没有用于列出DF和EF的标准ISO命令。尝试EFICCID(2FE2 IIRC)作为开始,它存在于大多数卡片中。
答案 1 :(得分:0)
继续使用的最佳方法是详细说明应用程序的逻辑数据结构。这些通常包含您希望用于访问/使用应用程序数据的命令集。