How to get MIFARE SDK Advanced?

Forum / MIFARE SDK / How to get MIFARE SDK Advanced?

  • 11. July 2016 at 11:15
    Hi,
    we are working on a project to use DESFire cards with an android app and we need the SDK to authenticate and communicate to the cards, but I cannot figure out how to download it.
    I registered to both https://inspire.nxp.com/mifare/index.html and mifare.net, but I cannot see any place to buy credits or donwload the SDK. I attach a screenshot. Hope someone can help as soon as possible as the project is on hold until we figure this out.

    Thanks in advance!

    Federico
    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    13. July 2016 at 9:22
    Hi Federico,

    I have inform you that we are currently change the architecture of our SDK. The new SDK, called TapLinX, is completely free of charge. Threrefore I recommend you to wait until the new TapLinX SDK is released. With TapLinX we do not have a single SDK for all products anymore, but you will get a single SDK for your product e.g.: MIFARE Classic, MIFARE DESFire EV1, MIFARE Ultralight, NTagxxx, ICode etc.

    The expected date for publishing will be end of July or beginning of August.

    Kind Regards,
    The MIFARE Team

    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    15. July 2016 at 13:57
    Hi,
    yes, I understand, I got the same answer by mail, but I cannot wait, so I started using the available SDK. I download the SDK Lite from the website, which in practice contains also the advanced methods, and got some credits to use them.
    However, I have two problems.
    First: in theory I should need only the Lite version because all I need to do is to write some bytes on the card and read them back, but these operations don't work on the lite version. I used the simple app in the SDK package to make my own, and I can use all methods for DESFire that require a key: format, personalize and authenticate. However, write and read do not work as I get access denied error. Clearly is not enough to successfully authenticate to you newly created app in order to write in it. So I wonder what is the point of having write and read methods if they cannot be used in practice.
    Two: I then tried to use the methods in the advanced library in order to get access to the methods com.nxp.nfclib.desfire.DESFireEV1.selectApplication() and authenticate() in order to make sure that I am authenticated to my app before writing. Problem is that here I get another error about that the Lite version does not support these methods. I then created a license key on https://inspire.nxp.com/mifare/myapp.html and gave it as a parameter to the method com.nxp.nfclib.NxpNfcLib.registerActivity(this,"licensekey"), which by the way I had to guess myself because it is not documented anywhere. This didn't help at all. When I generated my key I was asked which appStore I use, but my app is not published anywhere, I am just trying to debug it from AndroidStudio by running it on a production phone. How is the app supposed to connect and check the key? No documentation anywhere about this.

    thanks in advance for the help.
    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    18. July 2016 at 9:16
    Hi Federico,

    The Lite SDK and Advanced SDK differ in some options. The Advanced SDK comes with a software keystore which is missing in the Lite SDK. But you can do the same methods. For the Advanced methods you use an integer which describes the keystore index, for the Lite SDK you use the key directly (via byte[] reference).

    You will find in this forum samples for DESFire EV1: authenticate, create application and files, change keys etc.

    Regards,
    The MIFARE Team

    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    19. July 2016 at 10:36
    Hi,
    yes I noticed that SDK Lite takes key directly as parameters and that is great, but the problem is that there is only a handful of methods one can use, and they are so simplified that it is impossible to create files in an application that can then be written and read with SDK lite.
    The methods format, personalize and authenticate all work, but read and write do not because the personalize method only creates a new app with some default keys and maybe files which cannot be accessed through the read and write methods which only take a byte array as parameter. In fact, I get a denied authorization or failed authentication when I tried to use them. Now, it is impossible to do something wrong because the only way to use these methods is the following:

    personalize(MASTER_KEY,appID,APP_KEY); <- works
    authenticate(MASTER_KEY,appID,APP_KEY); <- works
    write(buffer); <- permission denied/failed authentication
    read(buffer);<- permission denied/failed authentication

    Many other threads here raised the same problem, and all the answers state clearly that it is not possible to do anything with SDK Lite and all examples on how to create an application and write files are given using the SDK Advanced.
    Now, back to my original question, where do I get this SDK Advanced? I've got the credits, but I can't find any download link or shop for it.

    Thanks in advance for any help.
    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    21. July 2016 at 10:30
    Hi Federico,

    The distribution of the MIFARE SDK Advanced has been stopped, because we are going to publish a new SDK, called TapLinX. For this SDK we do not have two editions of Lite and Advanced anymore. The TapLinX SDK is available free of charge after registration.

    Federico, you can do authenticating, crating and reading of files with the Lite SDK. If you only want to read a file with key permissions, you have to authenticate with correct key before.

    If the authentication works, as in your case, the failure could be in the wrong file settings. As you could see in the working samples in the posts, you have to set the correct permissions for a file while creating. Please take in mind that “0x0e” means free access and 0x00…0x0d means access with the given card key number. E.g.: if you set here 0x01 you have to authenticate with card key #1 before you can read the file.

    Regards,
    The MIFARE Team

    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    21. July 2016 at 11:35
    Hi,
    Let me try one more time to spell this as clearly as possible: there is no way to create a "file" with the SDK Lite, leave alone set permissions.

    The only class I can use with the SDK Lite is: https://www.mifare.net/files/lite_javadoc/com/nxp/nfcliblite/cards/DESFireEV1.html
    This class only contain one method to create applications, not files: personalize(MASTER_KEY,appID,APP_KEY).

    What you are referring to is this class: https://www.mifare.net/files/lite_javadoc/com/nxp/nfclib/desfire/DESFireEV1.html
    which is present in the SDK Lite but is only accessible by first instantiating this other class which is NOT available in the Lite version: https://www.mifare.net/files/advanced_javadoc/com/nxp/nfclib/NxpNfcLib.html

    So creating file and setting permissions can only be done by using the Advanced SDK, in fact all the examples in the other posts explicitly say that they use the Advanced version.

    So the answer I am looking for is: you can't use our DESFire cards until the new SDK is out, and your project is screwed.

    I will just have to wait until the new SDK is out and hope that the project has not been shut down in the meanwhile. I can't understand that you cannot guarantee development continuity to your users until the new SDK is out and available.

    Thanks anyway for the help.
    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    11. August 2016 at 15:41
    Any news fedem ?

    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    12. August 2016 at 9:06
    Hi Federico and Gabriel,

    You can use the DESFire EV1 in your projects with the Lite and the Advanced edition. But it is true, in the Lite SDK it has classes from the Advanced SDK merged which cannot be used. I regret this design decision.

    As you probably know we are in the process of releasing the modified Android SDK called TapLinX. Therefore we offer the MIFARE SDK Advanced for interested users until TapLinX is finally released.

    The MIFARE Team

    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    24. September 2023 at 3:04
    I'd like to get a copy of the SDK to support some legacy software that will never be updated to TapLinX. There is simply no money in the budget for a full upgrade.
    + 0  |  - 0

    Re: How to get MIFARE SDK Advanced?

    18. October 2023 at 11:53
    Please can we have a recompiled iOS SDK? what we currently have is already deprecated
    + 0  |  - 0
Viewing 11 posts - 1 through 11 (of 11 total)

You must be logged in to reply to this topic.