我得到了67 00'我为DESFire创建值文件时出错

时间:2015-05-26 04:35:05

标签: android mifare apdu contactless-smartcard

我正在使用 DESFire 卡,现在我想在我的应用程序中创建一个值文件(应用有ID {1}})。

我成功选择了具有给定ID的应用,然后将我的命令发送到00 00 01方法创建值文件。

我的命令在这里:

isodep.transceive

我的DESFire应用程序有6个密钥,我想使用密钥#4 READ,WRITE,READ&写,并更改访问权限

我希望收到状态代码byte[] cmdCreateValueFile = new byte[]{ //cmd (byte)0xCC, //file no (byte)0x01, //com.sett. (byte)0x00 , //access rights (byte)0x44 , (byte)0x44, //lower limit (byte)0x00 ,(byte)0x00 ,(byte)0x00 ,(byte)0x00 , //upper limit (byte)0x00 ,(byte)0x0F ,(byte)0x42 ,(byte)0x40 , //initial value (byte)0x00 ,(byte)0x00 ,(byte)0x00 ,(byte)0x00 , //limited credit enabled (byte)0x00 }; ,这意味着成功创建文件,但响应为91 00,这意味着错误的长度。

1 个答案:

答案 0 :(得分:1)

您正在混合ISO命令(CLA INS P1 P2 LC DATA ...)和本机命令(INS DATA)。您之前的命令是ISO命令,这就是您的卡要求所有命令都是ISO命令的原因。