2

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

在 SL1 中,该卡被检测为 Mifare Classic(相同的 ATR)并执行切换,我需要激活 14443-4 中的通信并使用 SL3 切换键执行身份验证命令。我试图激活 14443-4 中的通信,但我不知道如何。

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

我使用 Smartcardio 和传输控制命令将命令发送到 acr122U 尝试使用来自 PN532 的这些命令:-inAutoPoll(将卡检测为 10(mifare 卡,而不是 14443-4 卡)-InListPassiveTarget(也将卡激活为 mifare 经典) -inATR (以超时结束)我尝试 inRelease 并再次重新激活,也没有工作。

谢谢你的时间

4

1 回答 1

2

您面临的问题是 SL1 中的 MFP 充当 MFC,并且未在其 SAK 中宣传对 14443-4 的支持。大多数高级库根本不会尝试发送 RATS 来切换到 -4。

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

为了在后端不可知的代码中实现,我最终重新实现了 -4 框架并仅针对这种情况使用了低级通信 API。

一旦进入 SL3,-4 支持就会被宣传,并且在大多数通信库中切换是透明的。

于 2018-04-01T08:26:43.457 回答