主机向小程序发送以下命令选择EF文件
00 A4 02 00 02 40 01
目的是选择带ID的EF文件40 01
(在命令的数据字段中指定)。
但是当我调试 process(APDU apdu) 方法时,APDU 缓冲区仅包含前 5 个字节00 A4 02 00 02
。数据字段设置为00 00
。所以我的小程序无法使用 EF ID 选择 EF。
你能告诉我上面的 APDU 命令有什么问题吗?
根据卡(或仿真器)的不同,APDU 缓冲区可能仅包含 APDU 标头字段(CLA、INS、P1、P2、Lc)。即使某些卡自动将命令 APDU 的数据部分填充到 APDU 缓冲区中,您也不能依赖该行为。
相反,您必须通过调用显式指示卡(或模拟器)检索数据部分setIncomingAndReceive()
APDU 对象上的方法。但请注意,只能针对情况 3 和情况 4 APDU(即包含命令数据部分的 APDU 命令)调用此方法。如果没有命令数据字段,则不应调用此方法(情况 1 和情况 2 APDU)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)