Load keys to Mifare desfire card
1011296May 28 2013 — edited Jun 26 2013i am new to nfc related development.i want to read and write data from the MIFARE DESFIRE EV1 card using java.for the movement i have created some methods and i got the UID using SCL010 reader.but the problem is the document for the authenticate using key is not clear and not enough.these are the my code
// these is the key i want to store in card
//NfcTerminal.KEY_B is defined in here
*byte[] key = new byte[]{(byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0,*
*(byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0,*
*(byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0,*
*(byte) 0x0, (byte) 0x0, (byte) 0x0, (byte) 0x0};*
terminal.loadKey(key,NfcTerminal.KEY_B);
*public String loadKey(byte[] key, char keyType) throws CardException {*
String res = null;
System.out.println("Load Key");
CommandAPDU apdu = this.reader.loadKey(this.decoder.decode(key), keyType);
showAPDU(apdu.getBytes());
ResponseAPDU r = send(apdu);
res = APDUtoJSON(r).toString();
return res;
*}*
*public CommandAPDU loadKey(byte[] key, char keyType){*
*byte[] cmd = new byte[]{(byte)0xff, (byte)0x82, 0x00, mapKeyType(keyType), 0x06};*
cmd = ArrayUtils.addAll(cmd,key);
return new CommandAPDU(cmd);
*}*
after i run this code it give that type of error
Exception in thread "main" java.lang.IllegalArgumentException: Invalid APDU: length=21, b1=6
if anyone did these type of project please help.
Thanks
Regards
Sajith