基于响应 APDU。我收到 61XX,这表明我可以读取 XX 个字节(长度 0x00)。我想知道,如果我想读取 Le 中的 0x0000,将始终获得最大 61FF,其中 256 个字节可用。
是否可以读取命令 APDU 中的 0x0000 长度并全部接收?
基于响应 APDU。我收到 61XX,这表明我可以读取 XX 个字节(长度 0x00)。我想知道,如果我想读取 Le 中的 0x0000,将始终获得最大 61FF,其中 256 个字节可用。
是否可以读取命令 APDU 中的 0x0000 长度并全部接收?
在这种情况下,您可能想使用 T=1,这意味着没有 61XX 答案(这是 T=0 的属性)
61xx 建议您当前使用 T=0。是否也支持 T=1(这不确定,但可能),在 ATR 中编码,但在没有 7816-3 知识的情况下很难由人类推导出)。问题是,61 xx 只提供一个字节。您现在可以采用两种方法:
(谨慎)您尝试发送具有给定值的 GET RESPONSE ,这可能再次返回 61 xx 状态代码。
(渐进式)使用扩展长度的 LE 编码发送 GET RESPONSE(并非所有卡都支持它,但 61 xx 并不意味着您的卡不支持)。
正如您所提到的,“61xx”意味着您只能从 ICC 获取“xx”字节数据。返回的数据字节数由ICC控制,向ICC发送其他值是没有用的,除非你想从ICC获取更少的数据(即<=“xx”)。
正如 Martin 所说,“61xx”只出现在 T=0 协议中。对于T=1,它永远不会出现这样的状态字。