多条记录读取APDU命令结构?

Multi-records Reading APDU command structure?

我有一张支持T0协议的卡,上面安装了一个小程序。主机发送"multi-records reading"命令获取记录数据。读取由该命令的该数据字段中的记录标识符指定的记录。这些是我执行的步骤:

  1. Select 东风
  2. 发送命令读取记录序列

    00 B2 00 06 16 73 0A 51 02 40 01 54 04 00 10 00 04 73 08 51 02 40 02 54 02 00 01 00

命令含义如下:

73 0A 51 02 40 01 54 04 00 10 00 04
Tag'73' indicate that sequence of bytes above consist hierarchy data object structure in data filed (length = '0A')
Tag'51' reference to 2-byte EF identifier = '40 01'
Tag'54' reference to one or more record identifiers, in this case are '00 10' and '00 04'

53 |length of data| record data| 53| length of data| record data|......

我用网卡测试这个命令,网卡return'Unknown Error'短信
你能告诉我这个命令有什么问题吗?我在任何时候都被误解了吗?
谢谢

在不知道实际实现情况下无法回答这个问题。 6F00 - 指示未知错误的状态字 - 仅应在实现出现内部错误时返回。对于 Java Card 实现 - 例如 - 在处理 APDU 的 process 方法中为未捕获的异常返回 6F00

但就像 ISO/IEC 7816-4 的其余部分一样,没有什么是一成不变的。它甚至没有定义什么时候应该返回一个特定的错误,所以即使是上面的也不确定。 ISO/IEC 7816-4 在这方面完全没用。

感谢您的回答。我的问题解决了
实际上 return SW = 61 XY 不是错误信息。根据 ISO 7814-3 这意味着:

Process completed normally (SW2 encodes N x , i.e., the number of extra data bytes still available). In cases 1 and 3, the card should not use such a value. In cases 2 and 4, for transferring response data bytes, the card shall be ready to receive a GET RESPONSE command with P3 set to the minimum of N x and N e .

所以只需要发送一个GET RESPONSE命令来获取响应数据:

00 C0 00 00 XY

XY:仍然可用的额外数据字节数