Forum Replies Created

  • Re: Reply To: Trying to read DESFire EV1 Card, requires Authentication.

    22. March 2016 at 15:44
    in reply to: Trying to read DESFire EV1 Card, requires Authentication.
    Cesar, Did you find any solution for this?

    I am still struggling with this.

    @Override
    public void onDESFireCardDetected(final IDESFireEV1 objDESFire) {

    if(mCardType == EnumCardType.EnumDESFireEV1 && mIsPerformingCardOperations){
    //Already Some Operations are happening in the same card, discard the callback
    Log.d(TAG, "----- Already Some Operations are happening in the same card, discard the callback: " + mCardType.toString());
    return;
    }
    mIsPerformingCardOperations = true;
    mCardType = EnumCardType.EnumDESFireEV1;

    mDESFire =objDESFire;
    /* Insert your logic here by commenting the function call below. */
    try {
    mDESFire.getReader().close();
    mDESFire.getReader().connect();
    showMessage("DESFire EV1 Found", 't');

    }catch (Throwable t) {
    t.printStackTrace();
    showMessage("Unknown Error Tap Again!", 't');
    }
    mIsPerformingCardOperations = false;
    }

    The Code on top works but then all functions are very limited for mDESFire object.
    If I change declaration ->
    private IDESFireEV1 mDESFire; to private DESFireEV1 mDESFire; and "final IDESFireEV1 objDESFire" to "final DESFireEV1 objDESFire" then function on top cant be @Override and then it wont trigger when DESFire card found. So what is the solution that I cant use functions under DESFireEV1 (com.nxp.nfclib.desfire)? I am working with sample app and lib is "nxpnfclib".


    For IDESFireEV1 (com.nxp.nfcliblite.cards) there is only these functions:

    public interface IDESFireEV1 {
    String TAG = "DESFire_LITE";
    void writeNDEF(byte[] var1, NdefMessage var2) throws SmartCardException;
    NdefMessage readNDEF(byte[] var1);
    void updatePICCMasterKey(byte[] var1, byte[] var2) throws SmartCardException;
    void authenticate(byte[] var1, byte[] var2, byte[] var3) throws SmartCardException;
    void personalize(byte[] var1, byte[] var2, byte[] var3) throws SmartCardException;
    void updateApplicationMasterKey(byte[] var1, byte[] var2, byte[] var3, byte[] var4) throws SmartCardException;
    void write(byte[] var1) throws SmartCardException;
    byte[] read(int var1) throws SmartCardException;
    CardDetails getCardDetails() throws SmartCardException;
    void format(byte[] var1) throws SmartCardException;
    byte[] getUID() throws SmartCardException;
    IReader getReader();
    Type getType();
    + 1  |  - 0

    Re: Reply To: Trying to read DESFire EV1 Card, requires Authentication.

    18. March 2016 at 10:43
    in reply to: Trying to read DESFire EV1 Card, requires Authentication.
    Cesar, I have the same problem.

    There is DESFireEV1 class and IDESFireEV1. I could operate with IDESFireEV1 for doing application using personalize function but it always create File ID "00" so it is so limited that cant work with that. Why there is DESFireEV1 and IDESFireEV1? Is there possibilities to do other File ID:s than "00" using IDESFireEV1 class?

    Br, Ville
    + 0  |  - 0

    Re: Reply To: Desfire write SDK Lite

    4. March 2016 at 7:54
    in reply to: Desfire write SDK Lite
    So this (com.nxp.nfclib.desfire.DESFireEV1) class is included in Lite SDK and I can use it instead of IDESFireEV1 which was used in sample app? I dont still get it why there is used that IDESFireEV1 for an example which is very limited?

    Br, Ville


    + 1  |  - 0

    Re: Reply To: Desfire write SDK Lite

    2. March 2016 at 14:28
    in reply to: Desfire write SDK Lite
    Hi thanks for quick reply!

    My problem is that I cant find such functions as you descripted. There is only functions like this:

    public interface IDESFireEV1 {
    String TAG = "DESFire_LITE";

    void writeNDEF(byte[] var1, NdefMessage var2) throws SmartCardException;

    NdefMessage readNDEF(byte[] var1);

    void updatePICCMasterKey(byte[] var1, byte[] var2) throws SmartCardException;

    void authenticate(byte[] var1, byte[] var2, byte[] var3) throws SmartCardException;

    void personalize(byte[] var1, byte[] var2, byte[] var3) throws SmartCardException;

    void updateApplicationMasterKey(byte[] var1, byte[] var2, byte[] var3, byte[] var4) throws SmartCardException;

    void write(byte[] var1) throws SmartCardException;

    byte[] read(int var1) throws SmartCardException;

    CardDetails getCardDetails() throws SmartCardException;

    void format(byte[] var1) throws SmartCardException;

    byte[] getUID() throws SmartCardException;

    IReader getReader();

    Type getType();
    }


    So I can create application only using personalize function at the moment. And there is hardcoded that it will write file name "00". Do I use wrong object or is that Lite SDK limited for that scale? It not a problem to get that Adcanced if I need that.

    Br, Ville
    + 0  |  - 0
Viewing 4 posts - 1 through 4 (of 4 total)