代码之家  ›  专栏  ›  技术社区  ›  rudikiaz

带AC122U的MF Plus开关从SL1切换到SL3

  •  2
  • rudikiaz  · 技术社区  · 6 年前

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

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

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

    Im使用Smartcardio和transmitcontrolcommand将命令发送到acr122U,尝试使用PN532中的这些命令: -inAutoPoll(将卡检测为10(mifare卡,而非14443-4卡) -InListPassiveTarget(也将卡激活为mifare classic) -inATR(以超时结束) 我试图重新激活,但也不起作用。

    谢谢你抽出时间

    1 回复  |  直到 6 年前
        1
  •  2
  •   Nipo    6 年前

    您面临的问题是,SL1中的MFP充当MFC,并且不在其SAK中公布对14443-4的支持。大多数高级库都不会尝试将RAT切换到-4。

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

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

    一旦进入SL3,就会公布对-4的支持,并且大多数通信库中的切换都是透明的。