我正在使用 winscard 编写 C++ 代码。我注意到,如果我使用 Scardtransmit 发送仅发送数据或仅接收数据的命令,则没有问题。我可以发送数据或得到正确的响应。但是,当命令既发送数据又期望响应时,我总是得到 61xx。我知道错误代码 61xx 意味着有一个 xx 字节的响应,其中 Le 不正确,并检查了所有可能的 Le,包括返回值 xx,但没有任何变化。例如,让 Apdu 的形式为 CLA INS P1 P2 Lc Data Le,我得到 61XX,然后我发送 CLA INS P1 P2 Lc Data XX,我再次得到 61XX。
我使用java和其他工具检查了卡,并验证卡没有任何东西。
据我了解,为 Lc 和 Le 分配了一个字节 P3。有没有办法从 DATADATA 命令获得响应(除了 SW1SW2)?