如何读取智能卡中的Le Length 0x0000

时间:2012-11-01 01:36:17

标签: smartcard smartcard-reader emv

基于响应APDU。我收到61XX,表示我可以读取XX个字节(长度为0x00)。我想知道,如果我想在Le中读取0x0000,将始终获得最大61FF,其中256字节可用。

是否可以在命令APDU中读取0x0000长度并接收所有长度?

3 个答案:

答案 0 :(得分:1)

你可能想在这种情况下使用T = 1,这意味着没有61XX答案(这是T = 0的属性)

答案 1 :(得分:0)

61xx建议您当前使用T = 0。是否也支持T = 1(这不确定,但可能),在ATR中编码,但很难由没有7816-3知识的人推导出来。问题是,61 xx只提供一个字节。您现在可以采用两种方法:

  • (谨慎)您是否尝试使用给定的发送GET RESPONSE 值,也可能返回61 xx状态代码。

  • (逐行)使用扩展长度的LE编码发送GET RESPONSE(不是 所有卡都支持它,但61 xx并不意味着你的卡 没有)。

答案 2 :(得分:-1)

正如您所提到的,“61xx”意味着您只能从ICC获取“xx”字节数据。返回数据字节的数量由ICC控制,除非你想从ICC获得更少的数据(即< =“xx”),否则向ICC发送其他值是没用的。

正如马丁所说,“61xx”仅出现在T = 0协议中。对于T = 1,它永远不会出现这样的状态字。