我正在尝试使用Omnikey 5421将Mifare Plus卡切换到SL1模式,但是使用文档指示的"Generic card command“接口似乎不起作用(卡不返回任何类型的输出,除了0x9000,这似乎只是命令成功发送的确认-在响应0x90 0x00之前应该有额外的字节,这些字节来自芯片本身)。
序列使用SCardTransmit发送:
0xFF 0xA0 0x00 0x07 0x03 0x01 0x00 0x01 -进入通用会话-返回0x9000
..。使用文档的其他命令:
0xFF 0xA0 0x00 0x05 6+n 01 00 00 F3 00 00 64 + Mifare+命令00-无论是什么命令,即使Mifare+命令无效,也会返回0x9000
0xFF 0xA0 0x00 0x07 0x03 0x01 0x00 0x02 -退出通用会话-仍返回0x9000
唯一有效的命令是enter和exit,我在这两个命令之间发送的任何其他命令似乎都没有任何效果,包括RATS、Writeperso或Commitperso。当我在最后添加00个Le字节时,返回代码是0x6400而不是0x9000,尽管文档上说在发出Mifare+命令时应该附加Le byte。
卡在SL1模式下进行个性化设置(读、写、验证)后,所有其他操作都可以正常工作。我已经可以使用android NFC将卡切换到SL1模式,所以这似乎不是算法或卡的问题。
我尝试使用PC/SC第3部分文档中的命令,但返回代码是“不支持”,因此似乎只有这种透明通道机制可用于发出14443A命令。
发布于 2019-03-27 10:59:22
在SL0和SL3中,您可以通过通用Card命令直接调用加号命令。
"generic session“应该是让SL1接受Plus命令(默认情况下它会进入mifare经典模式)
https://stackoverflow.com/questions/52567213
复制相似问题