This document describes how to use the Java Card Development Kit, Version 3.1 to develop Java Card applets .
Java Card technology combines a subset of the Java programming language with a runtime environment optimized for secure elements, such as smart cards and other tamper-resistant security chips. Java Card technology offers a secure and interoperable execution platform that can store and update multiple applications on a single resource-constrained device, while retaining the highest certification levels and compatibility with standards. Java Card developers can build, test, and deploy applications and services rapidly and securely. This accelerated process reduces development costs, increases product differentiation, and enhances value to customers.
The Java Card API is compatible with international standards for secure elements, such as ISO 7816 or mobile communication standards issued by ETSI/3GPP. Major industry-specific standards, such as EMVCo and Global Platform refer to this standard.
The Java Card Development Kit, Version 3.1 is released in both binary and source bundles. The bundles intended solely for U.S. distribution include cryptography extensions. Portions of this document are targeted toward specific release bundles and are identified as such throughout this book. Access to the source bundles requires the purchase of a commercial license from Oracle.
This Development Kit User Guide is written for developers who are creating applets using the Application Programming Interface, Java Card Platform, Version 3.1 and also for developers who are considering creating a vendor-specific framework based on the Java Card specifications.
Before You Read This Document
Before reading this guide, you should be familiar with the Java programming language and secure element technology.
You should also become familiar with the Java Card specifications, which are located at Java Card Documentation.
Information on Java Card technology, including access to the latest Java Card Development Kit downloads, is available at
For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.
Access to Oracle Support
Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.
References to various documents or products are made in this manual. You might want to have the following documents available:
Java Card Platform Application Programming Interface Specification, Classic Edition, Version 3.1
Java Card Platform Virtual Machine Specification, Classic Edition, Version 3.1
Java Card Platform Runtime Environment Specification, Classic Edition, Version 3.1
Off-Card Verifier for the Java Card Platform White Paper
Java Card RMI Client Application Programming Interface (see the Javadoc tool generated API specification at JC_HOME_SIMULATOR
ISO 7816-4:2013 Specification
Documentation and Support
Third-Party Web Sites
Oracle is not responsible for the availability of third-party web sites mentioned in this document. Oracle does not endorse and is not responsible or liable for any content, advertising, products, or other materials that are available on or through such sites or resources. Oracle will not be responsible or liable for any actual or alleged damage or loss caused by or in connection with the use of or reliance on any such content, goods, or services that are available on or through such sites or resources.
The following text conventions are used in this document:
Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary.
Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values.
Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.