我使用的是ACR122U NFC读写器和MIFARE Classic 1K卡。要加载MIFARE卡的身份验证密钥,请使用以下APDU命令:
FF 82 20 00 06 FF FF FF FF FF FF
读者回复90 00
(表示成功)。但是,在另一台PC上我有相同的读写器和相同的标签,但我收到响应代码63 00
,这意味着操作失败。
当我阅读ACR122U文档时,它将命令声明为
FF 82 00 00 06 <KEY>
此字节在文档中命名为密钥结构,其值为00。这个字节可以成为这个问题的根源吗?
任何人都可以帮助我并解释密钥结构字节的值吗?
答案 0 :(得分:1)
我很惊讶您发现一个支持密钥结构(P1)设置为0x20的ACR122U。 API manual of the reader(参见5.1 加载验证密钥)清楚地表明保留了除0x00以外的值(即不得使用)。这意味着ACR122U仅支持易失性存储器中的卡密钥(即卡的认证密钥)(即,当拔下阅读器时,密钥将从内存中清除)。
您可以在PC/SC specification中找到密钥结构(P1)字节的定义(在第3部分中.PC连接接口设备的要求):
答案 1 :(得分:0)
加载身份验证密钥
找到附图
密钥结构:00键加载到阅读器易失性存储器中 密钥号码:阅读器上的00~01键位置 键:加载到阅读器中的键值,例如{FF FF FF FF FF FF}
响应:90 00操作成功完成 :63 00操作失败