【问题标题】:NXP NTAG 424: write command returns 917E: "Length Error"". Why?NXP NTAG 424:写入命令返回 917E:“长度错误”。为什么?
【发布时间】:2020-06-24 10:26:57
【问题描述】:

我已经开始使用NXP NTAG 424 TT 芯片以及 nfcpy 和一个 Identive SCL3711 读/写器。我可以成功发送和接收 APDU 命令,安全地验证自己并在加密通信模式下发送和接收命令。

但是我无法读取或写入数据到芯片,我不知道为什么。这是我所做的(主要取自 NXP application 注释第 24 页):

  1. 我发送命令“ISO Select NDEF application using DF Name” 00A404C07D276000085010100
  2. 然后我通过 AuthenticatEV2First 使用密钥 0x00 执行安全身份验证协议
  3. 我尝试写一些数据如下:
cmd_header = 02000000040000
cmd_data = 00D1FF00 (before padding)
cmd_data = 00D1FF00800000000000000000000000 (after padding)
The complete command which I send looks like this:
cla cmd P1&2| Lc |ISO Header      | encrypted Data                                 |LE
90 8D 00 00   1F  02 000000 040000 6688A4D75482FC972C2447A1A20F0AC9C073C1CF506B2BD3 00

但是芯片只响应917E: "Length Error"" 转换为 "Command size not allowed" 我究竟做错了什么?不可能是加密,我用各种其他命令(getTTStatus、SetConfiguration)进行了测试,这些都运行良好。我四倍检查了标题。我可能没有选择正确的文件,还是我错过了其他一些步骤?另外“命令大小不允许”是什么意思?这个错误对我来说非常神秘(使用加密芯片时这很有趣:D)。

非常感谢任何帮助!

最好的问候, 菲尔

【问题讨论】:

    标签: nfc iso apdu


    【解决方案1】:

    在您的情况下,“加密数据”字段的长度是 24 个字节,而您在 ISO Header 中提到的长度是“040000”,即 4 个字节。 您的加密数据长度应与您正在写入的数据长度相匹配。 在您的情况下,两个长度都不匹配并导致错误。

    希望信息清楚。 干杯!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-03-08
      • 2019-06-08
      相关资源
      最近更新 更多