我正在编写一些代码以认证并覆盖rfid芯片上的某些数据。
我正在使用javax.smartcardio,读者是ACR122U。
现在,如果我尝试发送一个APDU命令,例如:ff860000050100066100a0a1a2a3a4a5(使用扇区2处的标准密钥进行身份验证),则会收到错误消息。但是我确信我拥有正确的钥匙。我在acr122utools中对其进行了测试。问题是什么?请帮忙。

最佳答案

通过acr122u对卡进行身份验证有一些不同的方法。
首先,您必须将密钥加载到读取器存储器中(例如:ff 82 00 00 06 a0 a1 a2 a3 a4 a5)。
然后,您必须告诉您,将使用内存中的密钥进行身份验证:(例如ff 86 00 00 00 50 10 00 66 10)。应该这样做,因为身份验证是“挑战响应”。只有密钥的一部分会被随机数加密,并在卡和读卡器之间传输。我认为,自己实施挑战响应并不是您想走的路。

10-04 12:02