I am writing a software in java, on the reader side, to communicate with a MiFare DESfire EV1 card.
I am using for this javax.smartcardio
. I managed to create a channel and send wrapped APDU of native DESfire commands. For example I managed to read a file or even to authenticate.
What I have been struggling with, those last days, is trying to send a PPS command at level-4 to be able to set the Baud rate between the reader and the card.
The native PPS command is as follow:
DESFIRE command code 0xD0
DESFIRE command parameter 0x11 0x0A
If I am coherent with my previous technique to build ISO 7816-4 wrapped APDU, then it is supposed to look like this 0x90 0xD0 0x00 0x00 0x2 0x11 0x0A 0x00
.
Here is the response of this command:
SW1 : 0x91
DESFIRE response data : 0x1C
SW2 : none
0x1C
stands for ILLEGAL_COMMAND_CODE
; the syntax seems correct to me, why cannot I send this command?