DESFire Xamarin

Forum / MIFARE SDK / DESFire Xamarin

Tagged: 

  • 3. May 2017 at 2:51
    I'd like to add DESFire EV1 support to a Xamarin Android project. I have a version of the NFC code working with TapLinx in Android.

    Has anyone successfully used the TapLinx library from Xamarin?

    If that's not possible where's the best place to get DESFire commands for things like authenticate with key, read data, etc?
    + 0  |  - 0

    Re: DESFire Xamarin

    4. May 2017 at 6:11
    Moved to https://www.mifare.net/support/forum/topic/tapliinx-on-xamarin/
    + 0  |  - 1

    Re: DESFire Xamarin

    4. May 2017 at 10:19
    Hi Don,

    None of us has experience with Xamarin. But using NFC you will give up the benefits of Xamarin, because you cannot move it to iOS. In the case you cannot use on the one platform, it makes no sense for me to be “platform independent”.

    TapLinx is a library in the Android user space and it should be possible to put a external Android library to your project.

    The TapLinx team
    + 0  |  - 0

    Re: DESFire Xamarin

    6. May 2017 at 16:45
    The reason for Xamarin, in this case, is to share code between Android and Windows. It's Xamarin Android, rather then cross-platform Xamarin. There are existing C# apps that use a USB NFC readers and lots of the logic can be re-used on Xamarin. Unfortunately, the aggressive TapLix obfuscation breaks the Xamarin tool that build bindings between AAR libraries and Mono. https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/binding-an-aar/
    + 0  |  - 0

    Re: DESFire Xamarin

    29. January 2018 at 6:20
    Hi Don,

    My Xamarin developer team can help you in your Xamarin Android project try to check this Xamarin Developer Services and Development Solutions for more pls try to contact us :)
    + 0  |  - 0

    Re: DESFire Xamarin

    13. January 2020 at 3:57
    Just adding into this topic...

    I am developing an android application (using Xamarin Android as well) that reads/write on a Desfire EV1 cards (also wanting to use the system via Android handheld POS system - running on Android 6.0). As far as testing goes, it works fine on latest android version (Android 10) but noticed that on Android 6.0 it cannot read/write properly returning an incomplete response from most blocks on the card.

    By the way, I am using TapLinx (Nuget Package Xamarin) on my development, so far it is working fine as expected.

    Another thing I want to know is why free memory of the card is not being released when deleteFile method is used (for replacing written file) --- is there a recommended way of releasing this memory on delete file? I noticed that every time I delete a file and create new file on the card the free memory is not being released on delete. It's a bit bothersome going on formatting the card then resetting it up with my custom keys and applications then rewriting the files I needed just so to efficiently use the free memory of the card.

    Any response will be much appreciated! Thanks.
    + 0  |  - 0

    Re: DESFire Xamarin

    13. January 2020 at 10:31
    Hi Jailah Mara,

    To your first question. It is very difficult to give a detailed answer why in a multi block operation issues occurs between two Android versions. I know that available block sizes (for transport buffer) might vary between different middleware software versions. As a hint you should try to use the smallest block size and read only bytes you will really need. On a desktop operating system file data is always moved as minimal block size of 1K or 4K. But this is not true for Smartcard systems! Typically, the transport buffer sizes vary between 64 bytes to 256 bytes (including packet data). Block sizes larger than 256 is not supported by all driver/middleware drivers and you should avoid this size.

    To your second question. The command “DeleteFile” of a MIFARE DESFire remove the occupied data but do not makes a memory cleanup! There is no “memory management system” on the card. The whole memory is released after a “FormatPICC” command. Please take in mind: a Smartcard allocates the required memory at creation time and use it for the life time of the product. You will never need the “DeleteFile” command except for the rare case if a feature for the card user has expired and will never be activated again.

    The TapLinx team
    + 1  |  - 0

    Re: DESFire Xamarin

    13. January 2020 at 18:31
    Thanks for quick response regarding my inquiries. It make more sense now.
    Regards to your team!
    + 0  |  - 0

    Re: DESFire Xamarin

    29. February 2020 at 7:52
    Hi Jailah

    Is it possible for you to share any of the code used to read a card?

    Thanks.
    Dave
    + 0  |  - 0
Viewing 9 posts - 1 through 9 (of 9 total)

You must be logged in to reply to this topic.