Search code examples
javaappletsmartcardjavacardsmartcard-reader

java cards applets deployment in detail view


As you know output file format of a java applet in a .cap file which must deploy to the java card by a smart card reader/writer like ACR122 or any other one, And as i believe this deployment process between java card & reader/write device is based on ISO7816 protocol.Is there any information about detail process and layers of interpreting these cap files to APDU command ,sequence of transmitting commands? whatever reader/writer do.Is there any other references protocol ,document for that? WBR.


Solution

  • You are mostly right:

    ISO7816-4 is a standard that describes the interaction and communication between a card and a reader(and many more details like file structure and commands) on the very basic level, that is an APDU.

    JavaCard is a standard from SUN and now maintained by Oracle, that provides an API for applets and the JCRE/JCVM, so that diffrent smartcard vendors can created platoforms for portable code.

    That protable code is in the end compiled into a cap file which is loaded onto the card.

    The framework which installs, manages and maintains the card is called Global Platform specification. It handles applets, keys, life cycle management and some additional data. The GP modules are usually already on the card and you are resticted to change them in most ways. All important Javacard operating systems implement the Global Platform framework. Therefore the tools provided by your vendor already include this functionality. If you want to use open source software, there are good alternatives like GlobalPlatformPro from Martin Paljak. You can also call some functionality of GP from within JavaCard applet code. If you want to stroll around in the spec and try things out, beware to identify the card's version and choose the right spec.