ACR1222L FF 82 Load Authentication Keys failed with 63 00 Operation Failed

Posted

技术标签:

【中文标题】ACR1222L FF 82 Load Authentication Keys failed with 63 00 Operation Failed【英文标题】:ACR1222L FF 82 Load Authentication Keys fails with 63 00 Operation Failed 【发布时间】: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 命令将您的密钥加载到卡上。 【参考方案1】:

为了能够使用诸如“加载验证密钥”、“验证(块)”、读取、写入、更新等命令,卡必须处于安全级别 1 或更高。

通过将几个相关密钥加载到卡中,可以将卡从安全级别 0 移动到安全级别 1。请联系 ACS 以获取这些命令,因为它们没有公开记录。

(Additional Info)

【讨论】:

我也有同样的问题。你有机会分享那些特定的命令吗? (带有“附加信息”的链接已损坏) 很抱歉我无法再访问这些信息(这是针对旧项目的)。它也受版权保护,不公开。我建议您或您的公司直接联系 ACS 支持以获取文档作为您付费支持的一部分。附加信息的链接没有我认为的那些命令。它只是有一些额外的理论信息。【参考方案2】:

请尝试命令-

 0xFF 0x82 0x00 0x60 [key length] [ key value]

0xFF 0x82 0x00 0x61 [key length] [ key value]

其中 0x60 用于密钥类型 A,0x61 用于密钥类型 B。

【讨论】:

试过 FF 82 00 60 06 FF FF FF FF FF FFFF 82 00 61 06 FF FF FF FF FF FF... 仍然得到 63 00 我意识到您对过时版本的身份验证命令 (FF 88 00 [block number] [key type] [key number]) 感到困惑。问题是关于加载身份验证密钥命令 (FF 82 ...)。

以上是关于ACR1222L FF 82 Load Authentication Keys failed with 63 00 Operation Failed的主要内容,如果未能解决你的问题,请参考以下文章

ACR1222 ACOS6 生成密钥返回无效 INS (6D 00)

ACR122u卡仿真模式发送PN532指令

ACR122U 发送直接命令返回 -2 和分段错误

ACR122U 的 MIFARE Classic 1K 加载身份验证密钥失败

禁用 ACR122U 上的默认红色 LED

easyui Jquery 编程form load只执行一次,怎么回事?