DESFire EV1写数据命令返回917D(PERMISSION_DENIED)问题求助
问题分析与解决
错误码91 7D的含义
MIFARE EV1中,91 7D表示无效参数,通常是命令的参数长度、地址或数值不符合规范导致的。
写入命令的问题点
你的写入命令:90 3B 00 00 0D 01 00 00 00 00 00 00 06 70 72 75 65 62 61 00
分解后存在明显参数错误:
- Lc参数错误:Lc用于指定后续数据域的长度。你的数据域包含:4字节文件ID + 3字节偏移地址 +1字节数据长度 +6字节数据,总计14字节,因此Lc应设为
0E而非0D。Lc与实际数据长度不匹配,是触发91 7D的直接原因。
修正后的写入命令
将Lc从0D改为0E,修正后的命令为:
90 3B 00 00 0E 01 00 00 00 00 00 00 06 70 72 75 65 62 61 00
额外检查项
- 文件ID验证:确认创建文件时指定的文件ID确实是
01 00 00 00,若文件ID不匹配,也会导致写入失败。 - 访问权限:F5命令返回的
EE EE表示该文件读写无需认证,权限层面无问题,无需额外认证操作。
内容的提问来源于stack exchange,提问作者Ignacio Dávila
相关产品推荐
相关产品推荐

