在Desfire卡中写入错误

时间:2013-01-16 12:22:48

标签: mifare

我用一个文件创建一个应用程序。(file_id = 0×09)

我想在该文件中写入13(= 0x0d)个字节数据。我使用了这个命令:

90 cd 00 00 14 09 00 00 00 0d 00 00 13字节数据00

我收到91 f0

91 f0表示FILE_NOT_FOUND而if if我用file_id = 0×09创建另一个文件

我收到91 de(douplication eror)

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:0)

Desfire命令分为不同的类别。例如,在文件中写入数据是数据操作命令的一部分。在任何沟通开始时,您都处于PICC级别。因此,在发送write命令之前,必须先选择具有此应用程序AID的应用程序。

以包装的APDU ISO 7816格式选择应用程序的命令如下:

cls  ins    p1   p2   lc [data] le
0x90 [0x5A] 0x00 0x00 lc [AID]  0x00

以包装的APDU ISO 7816格式将命令写入文件的命令如下:

cls  ins    p1   p2   lc [data]                        le
0x90 [0x3D] 0x00 0x00 lc [fileNO,offset,length, data]  0x00

注意:一旦选择了应用程序,根据文件的设置,在能够在此文件中写入数据之前,可能需要进行身份验证和创建会话密钥。

答案 1 :(得分:-1)

您必须先选择存在此文件的应用程序,然后选择该文件。