androidnfcmifarecontactless-smartcardsecure-element

M4M - Mifare DESFire EV1: Which Mifare AID needs to be added to NFC routing table for off-host routing to a Mifare DESFire virtual card on UICC?


Mifare DESFire communication is routed to HCE instead off-host (UICC) on several Android devices.

From OMAPI based communication with off-host secure elements, I already learned how to add AIDs to Android off-host routing table, so that I can select them on UICC. (Thanks to @MichaelRoland)

My current problem: I do have a virtual Mifare DESfire card on my UICC. Now some devices do not route my native wrapped Mifare commands to the UICC and I still do not have a switch to change the default routing. So I wanted to have another entry in my off-host routing table, but I do not know which AID to use.

There is a PICC application AID of our MIFARE DESFire test application F01010. This is the AID that is used for selecting the application on CLT interface, but this cannot be entered to Android off-host routing table. In addition, we have two additional AIDs related to the MIFARE DESFire application. This is the Virtual Card Manager AID (A0000003964D344D1400000000000000) and the Service Manager AID (A0000003964D344D2400000000000000).

But which AID do I have to insert into the routing table?


Solution

  • Android (and probably the NFC controllers themselves) currently only supports routing configuration based on ISO/IEC 7816-4 AIDs/DF names. You can't add routing for native DESFire AIDs (i.e. those 3 byte AIDs) nor for all native wrapped communication.

    What you can do: