2016-03-22 71 views
2

我正在使用ACR122U NFC读写器和MIFARE Classic 1K卡。要加载的认证密钥的MIFARE卡,我用下面的APDU命令:使用ACR122U的MIFARE Classic 1K加载认证密钥失败

 
FF 82 20 00 06 FF FF FF FF FF FF 

读者与90 00(表示成功)响应。但是,在另一台PC上,我具有相同的读写器和相同的标签,但收到响应代码63 00,这意味着操作失败。

当我看到它指出该命令的ACR122U文档作为

 
FF 82 00 00 06 <KEY> 

该字节被命名为关键结构和它的价值是在文档中00。这个字节可以成为这个问题的根源吗?

任何人都可以帮助我,并解释关键结构字节的价值?

回答

1

我很惊讶,你发现一个支持键结构(P1)设置为0x20的ACR122U。 API manual of the reader(参见章节5.1 加载认证密钥)清楚地表明0x00以外的值被保留(即不能被使用)。这意味着ACR122U仅支持易失性存储器中的卡片密钥(即卡片的认证密钥)(即拔出阅读器时将密钥从内存中清除)。

您可以找到关键结构(P1)字节的定义在PC/SC specification(在部分3. PC连接接口设备要求):

  • 第7位:该位指示在此命令中发送的密钥是卡片密钥('0')或读卡器密钥('1')。读卡器密钥是用于在LOAD KEYS命令中传输期间加密卡密钥的密钥(请参阅位6)。
  • 位6:使用读卡器密钥(见位3..0)以明文('0')或加密('1')发送此命令中发送的密钥。
  • 位5:该位指示发送的密钥是否应存储在易失性('0')或非易失性('1')存储器中。
  • 位4:保留并始终设置为'0'。
  • 位3..0:如果设置了位6,则用于发送密钥的加密的读取器密钥编号。
+0

那么我甚至尝试过像0x10,0x30和0x40这样的值。他们都在工作,除了40 ..哪一种发出连续的嘟嘟声。 – FaizanRabbani

+0

我的问题是通过将值更改回0x00来解决的。但真正让我感到意外的是这些值是如何在我的NFC读写器上工作的? – FaizanRabbani

0

负载认证密钥

找到附加的图片

load key Image

主要结构:00键加载到读者易失性存储器 按键数:在00〜01关键位置读写器 注:加载到读写器中的密钥值例如{FF FF FF FF FF FF}

响应:90 00操作成功完成 :63 00操作失败

相关问题