我用一个文件创建一个应用程序。(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)
有人可以帮帮我吗?
答案 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)
您必须先选择存在此文件的应用程序,然后选择该文件。