我应该使用哪个APDU命令取消当前执行的读取记录?

neo*_*neo 2 apdu smartcard javacard

当主机向卡发送APDU命令(如读取命令)时,是否还有另一个命令,主机可以在执行第一个命令时发送该命令以取消先前(正在进行的)命令执行?

例如,这里Command_2被Command_3中断:

     Host        <--->        Card     
----------------------------------------------------------
 Command_1        --->             \
                                   | Processing Command_1
                 <---   Response_1 /

 Command_2        --->             \
                                   | Processing Command_2
                                   |
 Command_3        --->             x Processing interrupted
                 <---   Response_3 /

voj*_*jta 5

根据ISO/IEC 7816-4:2013第5.2章:

在同一接口上必须没有两个命令APDU - 响应APDU对的重叠,这意味着在发送下一个命令APDU之前必须接收响应APDU.

(不是官方版本,上面的文字是我的英语翻译.)

简而言之,除了热重置之外,没有办法停止处理应用层上的当前APDU,这可能不是你想要的,因为它会重置整个卡(你的applet不再被选中,RAM被清除并且持久化记忆未受影响).