Some propriatory commands does not work or are locked on Android ?

Forum / MIFARE SmartCard IC`s / MIFARE DESFire / Some propriatory commands does not work or are locked on Android ?

  • 8. March 2013 at 9:10

    yop
    > With Android

    I get errors with some proprietary commands while the same commands work find with an external encoder (the ACS 122).
    I get a common library (in java) to generate the commands.
    What's really strange : it's not all the commands but only some that do not work.

    > Are some commands locked under Android ? Do we need a kind of special right to execute them with success ?

    Proprietary Commands that do not work on Android :

    - Authentication : I receive the error 0x1C after sending back the 0xAF+ciph(RNA+RNB') -> command ok when using an external encoder
    - getFileIds and getFilesIsoIds : after selecting an application throughout the selectApplication command, I receive the error 0x9D -> command ok when using an external encoder
    - All createFile command : I get the error 0x0E -> command Ok when using the external encoder

    Other commands like selectApplication, getApplicationId work find on Android for me.
    + 0  |  - 0

    Re: Some propriatory commands does not work or are locked on Android ?

    11. March 2013 at 11:37

    Abu
    Hi,
    Either the library you are using does not support those commands or doing some communication before sending those commands. Please contact the library provider.

    You can try using ISO7816 wrapping APDU mode, explained in MIFARE DESFire EV1 data sheet.

    Regards-
    Abu
    + 0  |  - 0

    Re: Some propriatory commands does not work or are locked on Android ?

    13. May 2013 at 9:06
    Hi,


    "- Authentication : I receive the error 0x1C after sending back the 0xAF+ciph(RNA+RNB') -> command ok when using an external encoder"

    Sorry for my bad english! If you no comunicate with card, Android NFC test for cards every +-250ms doing card-reselection, this break internal card status and lose authenticacion (error 1C)

    Regards
    + 1  |  - 0

    Re: Some propriatory commands does not work or are locked on Android ?

    23. May 2013 at 15:44
    Hi Jose,

    Android is using an R(NAK) command of the ISO14443-4 protocol. So nothing that should deselect the card.

    Status 0x1C means Illegal Command. Please, could you check if you are not mixing native commands and wrapped ones or the message is not well formatted ?

    /Francesco
    + 0  |  - 0

    Re: Some propriatory commands does not work or are locked on Android ?

    26. May 2013 at 11:42
    Hi Francesco,

    That is the theoretical, but I checked performing the following test:

    1. Send 0x0A, Authenticate (KeyNo), card reply with challenge
    2. Perform key calculation localy, in less than 100ms
    3. Send 0xAF+ciph(RNDA+RNDB') to continue with authenticacion
    4. Everything is correct,
    5. Read files... OK

    Buy fails with 0x1C if:

    1. Send 0x0A, Authenticate (KeyNo), card reply with challenge
    2. Sleep or Wait 500-700ms (i need generate session key in remote system via WebService)
    3. Send 0xAF+ciph(RNDA+RNDB') to continue with authenticacion
    4. I always got 0x1C from card... why?

    I could solve this by analyzing the android surce code to find a way to keep connection alive in the NfcService, (using ugly reflection method), It can be done differently?

    Thanks
    + 1  |  - 0

    Re: Some propriatory commands does not work or are locked on Android ?

    10. October 2017 at 11:15
    Hi Jose
    We are also facing the same problem and are unable to find a fix for it, you mentioned
    I could solve this by analyzing the android surce code to find a way to keep connection alive in the NfcService,
    , could you please point us in a direction which can lead to a solution
    + 0  |  - 0
Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.