我在使用 acs acr122U 和 pn532 将 Mifare Plus SE 从 SL1 切换到 SL3 时遇到问题
在SL1中,该卡被检测为Mifare Classic(相同的ATR(,要执行切换,我需要激活14443-4中的通信并使用SL3开关键执行身份验证命令。我试图在 14443-4 中激活通信,但我找不到方法。
在SL3中(也在SL1上(的其他卡中,该卡在14443-4中被激活而没有问题,我可以毫无问题地发送mifare加操作。
我使用 Smartcardio 和 transmitcontrolcommand 将命令发送到 acr122U,尝试使用 PN532 中的这些命令:-inAutoPoll(将卡检测为 10(mifare 卡,而不是 14443-4 卡(-InListPassiveTarget(激活卡作为mifare经典也(-inATR(以超时结束(我尝试释放并再次重新激活,也不起作用。
感谢您抽出宝贵时间
您面临的问题是 SL1 中的 MFP 充当 MFC,并且不在其 SAK 中通告对 14443-4 的支持。大多数高级库根本不会尝试发送 RATS 切换到 -4。
要使MFP身份验证命令在0x9001(切换到SL3的先决条件(上工作,您实际上必须处于-4模式,因此您必须强制发送RATS以达到-4,即使不是通过卡通告。根据您的 NFC 库的 API,这可能无法实现。
为了在与后端无关的代码中实现,我最终重新实现了 -4 帧并使用了低级通信 API。
一旦进入 SL3,就会通告 -4 支持,并且在大多数通信库中透明地进行切换。