0

我用一个文件创建了一个应用程序。(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 而如果我创建另一个文件 file_id = 0×09

我收到 91 de(重复错误)

有人可以帮帮我吗?

4

2 回答 2

0

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

注意:一旦您选择了应用程序,根据文件的设置,可能需要进行身份验证并创建会话密钥,然后才能将数据写入此文件。

于 2014-05-23T11:31:05.257 回答
-1

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

于 2013-01-17T07:31:29.907 回答