JavacardOS will not accept order any more, please contact our partner Feitian online Store:
https://ftsafe.en.alibaba.com/index.html
https://ftsafe.en.alibaba.com/index.html
Smart Card Development Quick Start Guide
Moderator: product
-
- Posts: 2
- Joined: Mon Aug 31, 2015 11:04 pm
- Points :8
- Contact:
Smart Card Development Quick Start Guide
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!
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!
Last edited by JavacardDoc on Sun Sep 06, 2015 5:04 am, edited 1 time in total.
- javacardbr
- Posts: 22
- Joined: Mon Aug 10, 2015 9:38 am
- Points :104
- Location: BRAZIL
- Contact:
Re: Java Card Development Quick Start Guide
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,
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,
Learning every day 

Re: Java Card Development Quick Start Guide
Good development tutorial for beginners. thx
-
- Posts: 2
- Joined: Mon Aug 31, 2015 11:04 pm
- Points :8
- Contact:
Re: Java Card Development Quick Start Guide
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.
- javacardbr
- Posts: 22
- Joined: Mon Aug 10, 2015 9:38 am
- Points :104
- Location: BRAZIL
- Contact:
Re: Java Card Development Quick Start Guide
Thank You JavacardDoc!
Please, can you talk about ISO 7816-3 / 4 and GP 2.1.1 main information?
Regards,
Please, can you talk about ISO 7816-3 / 4 and GP 2.1.1 main information?
Regards,
Learning every day 

- javacardbr
- Posts: 22
- Joined: Mon Aug 10, 2015 9:38 am
- Points :104
- Location: BRAZIL
- Contact:
Re: Java Card Development Quick Start Guide
Thank You JavacardDoc!
Please, can you talk about ISO 7816-3 / 4 and GP 2.1.1 main information?
Regards,
Please, can you talk about ISO 7816-3 / 4 and GP 2.1.1 main information?
Regards,
Learning every day 

Who is online
Users browsing this forum: No registered users and 19 guests