MF Plus 使用 AC122U 从 SL1 切换到 SL3

MF Plus switch from SL1 to SL3 with AC122U

我在使用 acs acr122U 和 pn532 将 Mifare Plus SE 从 SL1 切换到 SL3 时遇到问题

在 SL1 中,卡被检测为 Mifare Classic(相同的 ATR)并执行切换,我需要在 14443-4 中激活通信并使用 SL3 切换键执行 auth 命令。我试图激活 14443-4 中的通讯,但我没有找到方法。

在其他已经在 SL3 中的卡(也在 SL1 中)卡在 14443-4 中被激活没有问题,我可以毫无问题地发送 mifare plus 操作。

我正在使用 Smartcardio 和 transmitcontrolcommand 将命令发送到 acr122U,试图使用来自 PN532 的这些命令: -inAutoPoll(将卡检测为 10(mifare 卡,而不是 14443-4 卡) -InListPassiveTarget(也将卡激活为 mifare classic) -inATR(以超时结束) 我尝试了 inRelease 并再次重新激活,但均无效。

感谢您的宝贵时间

您面临的问题是 SL1 中的 MFP 充当 MFC,并没有在其 SAK 中公布对 14443-4 的支持。大多数 high-level 图书馆根本不会尝试发送 RATS 以切换到 -4。

要使 MFP 身份验证命令在 0x9001 上工作(切换到 SL3 的先决条件),您实际上必须处于 -4 模式,因此您必须强制发送 RATS 以达到 -4,即使没有公布通过卡。根据您的 NFC 库的 API,这可能无法实现。

为了在 backend-agnostic 代码中实现,我 ended-up 重新实现 -4 框架并使用 low-level 通信 APIs 只是为了这种情况。

在 SL3 中,-4 支持被公布,并且在大多数通信库中透明地发生切换。