我不熟悉APDU和智能卡通信,我不知道如何成功地发送APDU命令。例如,当我尝试以下命令时:
00 A4 00 00 02 3F 00 00
我得到一个6E 00
响应。我试图弄清楚我必须为我的卡使用哪个类,但是对于我在00-FF
范围内尝试的每个类,我总是会得到“class not supported”错误。在
我想这可能和卡上的认证有关,但我不知道怎么做。在
我使用了以下Python(pyscard)代码:
^{pr2}$
编辑:
卡的ATR是3B 04 49 32 43 2E
Tags:
不是专家,但是看一下the pyscard documentation,我认为你用错了字节。在给定的示例中(您的代码似乎是基于这个示例),它表示
其中,
A0 A4 00 00 02
是命令(不应修改),而7F 10
标识要与之对话的卡的类型(根据您拥有的卡类型,这几乎肯定是不同的)。在试试看:
^{pr2}$我还发现了一个summary table of commands;希望你觉得有用。在
解决了这个问题,我的卡是一个I2C卡,所以APDU命令不能使用它。我通过OnnISFFT的同步API,通过C++得到了它。不是我想的那样,但到目前为止,这似乎是唯一的选择。在
感谢所有帮助我的人!在
既然您正在尝试发送一个选择APDU,为什么不尝试最简单的一个,即选择颁发者安全域?在
请尝试以下命令:
此时不需要关心身份验证。选择应该在所有安全级别下工作。在
相关问题 更多 >
编程相关推荐