主机将以下命令发送到applet以选择EF文件
00 A4 02 00 02 40 01
目的是选择带有ID的EF文件40 01
(在命令的数据字段中指定).
但是当我调试进程(APDU apdu)方法时,APDU缓冲区只包含5个第一个字节00 A4 02 00 02
.数据字段设置为00 00
.所以我的applet无法使用EF ID选择EF.
你能告诉我上面的APDU命令有什么问题吗?
根据卡(或仿真器),APDU缓冲区可能只包含APDU报头字段(CLA,INS,P1,P2,Lc).即使某些卡自动将命令APDU的数据部分填充到APDU缓冲区中,也不能依赖于该行为.
相反,您必须通过调用setIncomingAndReceive()
APDU对象上的方法明确指示卡(或模拟器)检索数据部分.但请注意,只能针对案例3和案例4 APDU(即包含命令数据部分的APDU命令)调用此方法.如果没有命令数据字段,则不应调用此方法(案例1和案例2 APDU).