Search code examples
javacardapducontactless-smartcardemv

SELECT PPSE GIVES 6700,( VISA Paywave)


I have two different smartcard chips with Visa Paywave inside (one is native, and other is Java Card).

I am trying to run select PPSE or select Application command, one card is giving the expected result while another card is giving status word 6700.

Command ---->CMD 00A404000E325041592E5359532E4444463031
Sw1-sw2 <----67 00
Command ---->CMD 00A4040007A0000000031010
Sw1-sw2 <----67 00

We have some other proprietary test tool that is receiving a good result for both cards. That means that both cards have a PPSE and application in it. I wonder why my tool is sending the same command but getting a different result.

Any advice would be helpful here.


Solution

  • As we know that there are 4 cases defined in ISO7816-4 like,

    APDU CASES:-

    As per my experience maximum card does not worry about Le field in apdu command, card O.S just process the command and return data if require.

    Here i am getting error -6700 because here my card is expecting Le byte too.( card expecting case 4 instead of case 3) Send command like below solve my problem,

    00 A4 04 00 0E 325041592E5359532E4444463031 00 ( adding Le = 0x00 at last)