【发布时间】:2015-08-26 11:44:46
【问题描述】:
我正在使用 ACR1222L NFC 智能卡读卡器和 Mifare Plus 卡(目前安全级别为 0;制造商默认密钥 A 和 B)。我尝试了各种命令将身份验证密钥加载到阅读器中:
FF 82 00 00 06 FF FF FF FF FF FF
FF 82 00 01 06 FF FF FF FF FF FF
FF 82 20 00 06 FF FF FF FF FF FF
FF 82 00 00 06 A0 A1 A2 A3 A4 A5
FF 82 00 00 06 D3 F7 D3 F7 D3 F7
... and others ...
他们都在返回错误状态:
63 00 (Operation Failed)
可能出了什么问题?我已经搜索了很长时间以寻找提示,但许多其他问题是关于身份验证失败或在使用上述命令之一成功加载身份验证密钥后读取失败,并且它们通常基于不同的设备( ACR122U)。
我注意到当卡片不存在时,阅读器甚至不会响应命令。读卡器上是否应该有一张卡来加载身份验证密钥?
【问题讨论】:
-
卡必须在场才能对其进行任何操作。阅读器只是一个愚蠢的硬件层,它不做任何逻辑,在里面加载或存储任何东西。它只是中继主机和设备(卡)之间的通信,应用它的一些(阅读器)限制。您必须监视读卡器的状态以确保卡存在。但是在您的情况下,阅读器没有返回任何应有的错误代码,这很奇怪!大多数时候应该是 ICC_MUTE。
-
@Alex 当卡不存在时,我通常会从基于 Jacspcsc 的本机方法中得到错误代码
6,该方法尝试将命令传输到读卡器(可能表示传输失败)。读者本身没有回应。当卡存在时,我从这个方法中得到错误代码0(表示命令传输成功)。阅读器本身的响应位于单独的byte数组中。 -
AFAIK 你不应该在这个安全级别加载密钥。如果您的卡处于安全级别 0,您可能想要的是
write perso命令将您的密钥加载到卡上。
标签: rfid mifare smartcard-reader contactless-smartcard acr122