-1

使用此处描述的框架,我正在尝试从智能卡中读取数据。我已经建立了一个 apdu 命令。命令结构似乎是正确的,因为它适用于 java。当我调用 SCardTransmit() 函数时,该命令被执行,但它返回一个长度为 Le+2 字节的空响应缓冲区。保存SW1和SW2的前两个字节是6118。我相信这意味着有更多的字节要读入缓冲区。但是,当我更改缓冲区大小时,响应缓冲区大小已更改,但我仍然收到错误代码 6118。这是一个选择命令,后跟一个返回状态 6100 的获取数据命令,我认为这意味着有超过 0xFF 字节待读。那么如何让响应缓冲区被填充呢?

4

1 回答 1

1

所描述的行为与 T=0 协议卡匹配。在该协议中,您永远不会直接获得命令响应,而是必须发送一个 GET RESPONSE 命令,其长度在前一个命令的返回码中报告,此处为 0x18。

于 2013-06-21T06:48:33.170 回答