Android ACR1252负载身份验证FF 82失败,错误为63 00

Android ACR1252负载身份验证FF 82失败,错误为63 00,android,rfid,apdu,mifare,acr1252,Android,Rfid,Apdu,Mifare,Acr1252,我想将身份验证密钥加载到ACR1252读卡器(可能类似于ACR122读卡器),但由于响应代码63 00而失败 我正在尝试为ISO/IEC 14443卡(特别是荷兰ePassports)执行此操作。首先,我发送命令: 选择应用程序:00 04 0C 07 A0 00 02 47 10 01带响应90 00 获取挑战:0084 00 08带响应[ramdom 8字节]90 00 加载键:FF 82 00 06 FF FF FF FF FF带响应63 00(操作失败) 最终,密钥的长度将是40字节而不

我想将身份验证密钥加载到ACR1252读卡器(可能类似于ACR122读卡器),但由于响应代码
63 00
而失败

我正在尝试为ISO/IEC 14443卡(特别是荷兰ePassports)执行此操作。首先,我发送命令:

  • 选择应用程序:
    00 04 0C 07 A0 00 02 47 10 01
    带响应
    90 00
  • 获取挑战:
    0084 00 08
    带响应
    [ramdom 8字节]90 00
  • 加载键:
    FF 82 00 06 FF FF FF FF FF
    带响应
    63 00(操作失败)
  • 最终,密钥的长度将是40字节而不是6字节,但这只是出于测试目的(40字节的密钥也会给出
    63 00

    我还尝试:

    FF 82 00 00 06 A0 A1 A2 A3 A4 A5
    FF 82 20 00 06 FF FF FF FF FF FF
    FF 82 20 01 06 FF FF FF FF FF FF
    
    没有成功,有人知道吗? 我还偶然发现了这个Stackoverflow线程:它可能与我的情况类似。有人在更改安全级别方面有经验/成功吗


    如果有关于如何解决这个问题的其他想法,也许我错过了一些关键步骤或什么,请让我知道!谢谢

    我认为在这篇文章中有多种主题的混合;我不知道我是否能给你正确的解决方案,但至少我会给你一些线索

    • 安全级别:本主题仅涉及MIFARE Plus卡,它是NXP专有卡技术(基于ISO14443协议),与您的问题无关

    • 关于您发送的命令:

    • “选择应用程序”:您正在使用AID:A000 00 02 47 10 01选择应用程序,并获得OK“90 00”。执行此命令后,您发送的所有命令都将发送到目标应用程序。(读取文件、写入文件…)根据应用程序文件权限,您可以写入/读取它们,或者您需要事先进行身份验证

    • “Get Challenge”(获取质询):当您使用3-Pass muthual身份验证启动与目标应用程序的身份验证时,将发送此命令,在此命令后,您应继续进行ISO7816协议中所述的身份验证(如果您知道应用程序密钥),但不要继续发送“加载键”似乎是在读卡器上存储MIFARE键的命令

    • “加载密钥”此命令格式似乎是一个通常发送到ISO14443读卡器(通常为PC/SC读卡器)的命令,用于在读卡器内存中存储Mifare经典密钥。我不认为此命令与您的期望无关。只有在“Dutch ePassports”中有Mifare卡时,您才会需要它“你需要阅读它


    希望能有帮助。

    非常感谢你,罗杰。关于加载密钥,您是对的,实际上
    82
    命令应该是外部的\u AUTHENTICATE,但是我得到
    67 00(错误长度)
    作为响应。现在我发送命令
    00820028[40bytes]28
    ,它返回
    [8 bytes]9000
    。。我认为这是朝着正确的方向迈进了一步,但我特别指出,我希望有40个字节作为响应(由于最后一个
    28
    ,但它只给了我8…有什么想法吗?编辑:当我删除最后一个
    28
    时,它给了我
    6700(错误的长度)
    ,我觉得这也很奇怪。我肯定有40个字节。我对ePassport规范没有深入的了解,但我可以大致解释7816-4协议中定义了什么,该协议最终定义了符合ISO标准的非接触式智能卡过程。1.7816-4身份验证使用三通相互身份验证。2验证命令的长度取决于加密算法。(例如)如果密钥是DES/3DES密钥,则:*获取挑战-->**非常感谢。我返回响应的函数似乎有一个小错误,因此返回的字节数不会超过10个…现在已修复,我得到42个字节的响应。感谢您帮助我了解发生了什么事!我接受您的答案。