Question

I am new to Java Card development but until now I am using the Java Card development kit 2.2 and doing the Samples.

I try to understand how can I actually use the java card Applets. For example I have the classic "Wallet" applet that is a wallet application managing credit and also debit operations on the Card. I use the jcwde tool to run the applets on the emulator. The APDU tool is sending apdu messages to the card and the card responds.

Now my question is on practice how can I use this card? The apdu istructions that the terminal should send are predefined according to the methods the applet implements. The device that the customer should plug the card how should interact to the card? For example we don't expect the customers to send APDU commands. Is there a device with a screen that should be programmed too?

The wallet application is similar to: working with Java Card Wallet

The person question here is using the same approach. Testing the applet using apdu messages. Is this the way we should test our cards?

Was it helpful?

Solution

Once the card application is operational, you will want to stage it in some service. Depending on the context, the client might be sending APDUs to it

  • from a local application (e.g. a phone app sending APDUs to the UICC)
  • over NFC (e.g. a merchant point of sale sending APDUs to a Visa application within a card)
  • over-the-air, in a secure channel (the "credit" command would typically require that the entity sending it is authenticated, otherwise anyone can top-up their wallet)

It really comes down to what you are trying to build. In most cases you will have to build some reader code, most likely using PC/SC to send APDUs. Then the beauty of Javacard is that it lets you define your business rules within the card, that is within a tightly secured environment. Just make sure you can trust your inputs.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top