smartcard - 在不知道文件标识符的情况下读取 SmartCard ISO 7816 的文件结构
问题描述
我正在使用 ISO 7816 卡,需要从 MF 开始读取卡的文件结构并跟踪其中的所有子文件。
首先,我从 SELECT 命令开始选择 MF (3F00) 并使用 CLS:0x00 INS:0xA4 P1:0x00 P2:0x06 Le:0x00 读取其 FCP 模板
它响应我 SW1:61 SW2:XX 信息,然后我使用 GET RESPONSE 命令和 CLS:0x00 INS:0xC0 P1:0x00 P2:0x00 Le:XX 并获得 TLV 格式的响应,并设置了所有 FCP 参数文件
现在对于选定的文件,即MF:3F00,如何在不知道其文件标识符的情况下选择直接子文件,然后再选择其相应的子文件以遍历整个文件结构。
我的问题是,对于文件选择,当我使用 P1 作为 0x01(选择子 DF)或 0x02(选择 EF)时,它给我的错误是 6700 错误长度,因为我需要传递 DF/EF 标识符,但我不知道文件标识符,那么我在哪里可以读取子文件的文件标识符?
解决方案
具有标准化功能的唯一选择是遍历所有可能的文件标识符。如果响应指示 DF,请记住以后的递归并立即选择父级以完成关卡。可能存在一些专有命令,这允许更有针对性的方法。
一般来说,我不相信所有现有文件 ID 的知识过于有用,因为这并不意味着您可以对文件做任何事情。对于下一步,无论如何您都需要一些信息,并且从一开始就正确获取信息可以节省无聊的工作。
推荐阅读
- swift - 如何在swift中使用来自异步函数的数据退出for循环?
- jupyter-notebook - 为什么我在本地运行 jupyter notebook 绘制 qiskit 量子电路看起来不一样
- python - 减去 2 列日期
- html - 如何为电子邮件联系表 7 设置“搜索计算机”文件上传按钮的样式?
- java - HTTP 状态 404 – 使用注释运行 servlet 时未找到
- sql - 当用作谓词时,SQL 元组是否只是扩展逻辑 AND 的语法糖?
- android - 使用动态视图在 Fragment 中膨胀 LinearLayout
- django - Django ManyToManyField 帖子在 drf 中不起作用
- android - 从 brwoser 在 android 中打开添加联系人屏幕
- java - 为什么使用 ExecutionContext 会导致此代码不停止?