Page 1 of 1

Smart Card Development Quick Start Guide

Posted: Mon Aug 31, 2015 11:28 pm
by JavacardDoc
If you are ready to get started with java card applet development. Please take a little time to look through this article.

Firstly, you'd better be familiar with the following six specifications before writing your first applet.
JavaCard API specifications: contains the explanation of programming interface which is available during programming.
JCVM: describes the characteristics of the virtual machine for handling Java Card applications.
JCRE: details runtime behavior, such as how memory is managed or how security is enforced.
ISO7816
part3: specifies electrical interface and transmission protocols for contact cards.
part4: specifies organization, security and commands for interchange
ISO14443
part3: Initialization and anticollision
part4: Transmission protocol
GlobalPlatform card specification : describes the installation, the removal of applications and additional management tasks on a card.

The following seven steps comprise the whole applet development phase, including completing your applet project and running your applet on a real smart card.

Step 1. Set up java card development environment
We have already provide you the necessary tools -JCKit for javacard applet development.
The JCKit includes two tools: JCIDE and pyApdutool.
JCIDE: a free integrated development environment with more powerful debugger and more intelligent editor designed specifically for the Java Card programming language.
PyApduTool: a handy tool which can communicate with the card via the reader connected to PC. It is a PC/SC compliant application.

Step 2. Write and debug java card applet
Before starting to write your applet, you should set two 5-16 bytes numbers to your application and its package as the applet AID and the package AID.
Please see this topic to learn how to write the applet code.
View this video to debug your applet.

Step 3. Convert the .java file to .cap file
If your project is built successfully, the cap file is already created in your project path.

Step 4. Upload the .cap file
Connect a smart card reader to your computer. Then use pyApdutool to upload the .cap file the applet.
Sometimes,you need your card's authentication keys to have permission to upload and install applet on it.
For step 4 and 5, please view this video.

Step 5. Install the uploaded applet
Continue using pyApdutool to install the applet.

Step 6. Select your applet on the card using APDU commands
you should send a SELECT APDU command to the card with your applet's AID in its data field.
You can also set your applet as the defaulted selected. See this topic for details.

Step 7. Communicate with your applet.
You can send other APDU commands to the card.
Note: APDU, an abbreviation of Application Data Protocol Unit is the protocol that you use to send commands to the card and receive the data from the card. Check out ISO7816-3 specification to learn more.

Thank you for your valuable time to read this article. Wish you a wonderful start. Good luck!

Re: Java Card Development Quick Start Guide

Posted: Tue Sep 01, 2015 9:10 am
by javacardbr
Hello JavacardDoc, how are you?

Thank you for the Quick Start Guide!

Please, can you provide reference links to these six specifications?

Here is the Oracle's Java Card downloads page:
http://www.oracle.com/technetwork/java/embedded/javacard/downloads/index.html

regards,

Re: Java Card Development Quick Start Guide

Posted: Thu Sep 10, 2015 10:36 pm
by GraceGIRL
Good development tutorial for beginners. thx

Re: Java Card Development Quick Start Guide

Posted: Wed Sep 16, 2015 9:48 pm
by JavacardDoc
javacardbr wrote:Hello JavacardDoc, how are you?

Thank you for the Quick Start Guide!

Please, can you provide reference links to these six specifications?

Here is the Oracle's Java Card downloads page:
http://www.oracle.com/technetwork/java/embedded/javacard/downloads/index.html

regards,


Hi javacardbr,

We have add the reference links to the first three specifications. Thanks for your suggestion.

Re: Java Card Development Quick Start Guide

Posted: Thu Sep 17, 2015 8:00 am
by javacardbr
Thank You JavacardDoc!

Please, can you talk about ISO 7816-3 / 4 and GP 2.1.1 main information?

Regards,

Re: Java Card Development Quick Start Guide

Posted: Thu Sep 17, 2015 8:01 am
by javacardbr
Thank You JavacardDoc!

Please, can you talk about ISO 7816-3 / 4 and GP 2.1.1 main information?

Regards,