1.2 Introduction
Java Card enables secure elements, such as smart cards and other tamper-resistant security chips, to host applications, called applets, which employ Java technology.
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 Development Kit is a suite of tools for designing implementations of Java Card technology and developing applets based on the Java Card Specifications. It is available as two independent downloads:
- The Java Card Development Kit Tools are used to convert and verify Java Card applications.
- The Java Card Development Kit Simulator offers a testing and debugging reference for Java Card applications. It includes a Java Card simulation environment and Eclipse plug-in.
Together, these two downloads provide a complete, stand-alone development environment in which applications written for the Java Card platform can be developed and tested.
These release notes describe the Java Card Development Kit Tools for the Java Card Platform. The Java Card Development Kit Tools convert and verify Java Card applications. You can use the Java Card Development Kit Tools with products based on version 3.1, 3.0.5, and 3.0.4 of the Java Card Specification Classic Edition, as a stand-alone, or in conjunction with the Java Card Development Kit Simulator.
1.3 What's New
This topic contains the new features and changes in the Java Card Development Kit Tools.
The following are the changes in the Java Card Development Kit Tools, version 3.1.0u4:
- New features and improvements in the
converter
andverifier
tools:- When specifying the
-target
option, theconverter
andverifier
tools are automatically using an internal copy of the export files to ensure the use of the correct version of the export files
- When specifying the
- New features and improvements in the
converter
tool:- Fixed conversion failure when using
invoke-virtual
on specific methods with package visibility
- Fixed conversion failure when using
- New features and improvements in the
verifier
tool:- Improved the usage of the
-target
parameter by automatically adding the Java Card platform export files into the verification process, according to the value of the parameter - Improved the binary compatibility checks for CAP files targeted for the 3.0.4 and 3.0.5 Java Card platforms
- Added support for the
-target
parameter in theverifier
ant
task - Fixed incorrect verification of
SuperMethodRef
in large hierarchies of classes - Fixed incorrect verification of class implemented interfaces, when combining the use of version 2.2 and 2.3 of export files format
- Improved the usage of the
The following are the changes in the Java Card Development Kit Tools, version 3.1.0u3:
- When running the
verifier
tool in the verbose mode, a warning is added to notify users, when the verification on a CAP file is done with an export file of an imported package, which has a newer version compared to the version that is actually imported - The following are the bug fixes in the
verifier
tool:- Improved checks of the
dup_x
andswap_x
instructions - Fixed an incorrect restriction added on the virtual mapping table
- Fixed issues in the detection of binary incompatibilities when extending
Signature
,RandomData
,Cipher
classes or theECKey
interface
- Improved checks of the
- The following are the bug fixes in the
converter
tool:- Fixed an incorrect
NullPointerException
preventing in some specific cases from creating extended CAP files - Fixed the help message for the
–target
command line option
- Fixed an incorrect
The following are the changes in the Java Card Development Kit Tools, version 3.1.0u1:
- Improved CAP file verification by the
verifier
tool - Bug fixes in the
converter
tool
The following are the new features and changes in the Java Card Development Kit Tools, version 3.1:
- Improved API Extensibility Using Virtual Method Mapping Table
- Support for large CAP file that may comprise multiple packages
- Support for static resources in CAP files
- Support for creating CAP files targeting previous releases of Java Card platform, such as version 3.0.5.
- Java Card Development Kit Tools and Java Card Development Kit Simulator are two independent bundles, which can be downloaded separately, enabling easier evolution of the Development Kit Tools.
For a complete list of supported features, refer to the Java Card Development Kit User Guide and Java Card Platform Specification Release Notes.
1.4 System Requirements
This product is targeted for use on a PC running the Microsoft Windows 7, Windows 8, and Windows 10 operating system.
The following software must be installed for the Java Card Development Kit Tools to work:
-
Java Development Kit (JDK) – This release has been verified and tested with Oracle JDK 11 (64 bit version) and OpenJDK 11 (64 bit version). Download the JDK software from:
http://www.oracle.com/technetwork/java/javase/downloads
Install it according to the instructions on the website.
-
Apache Ant – This release has been verified and tested with Ant 1.9.13. Download and install Ant from:
1.5 Installation
The Java Card specifications, Development Kit Simulator, and Development Kit Tools must be downloaded and installed individually.
Note:
Download and install the Java Development Kit (JDK) prior to installing the Java Card Development Kit Tools. The tools in this development kit were tested with Oracle JDK 11 (64 bit version) and OpenJDK 11 (64 bit version). You can download and install JDK according to the instructions on the website:http://www.oracle.com/technetwork/java/javase/downloads
.
-
See the Downloading the Specification Documents topic of the Java Card Platform Specification Release Notes, for more details on how to download the Java Card Specification bundle.
-
See the Installation topic of the Java Card Platform Development Kit Simulator Release Notes, for more details on how to download and install the Java Card Development Kit Simulator bundle.
-
See the Installation topic of the Java Card Development Kit User Guide, for more details on how to install the Java Card Development Kit Simulator and Java Card Development Kit Tools.
-
The Java Card Development Kit Tools bundle is provided on the Oracle Technology Network download website (
https://www.oracle.com/technetwork/java/embedded/javacard/overview/index.html
). You must extract the downloaded.zip
file to the directory where you have installed the Simulator.
1.5.1 Contents of Java Card Development Kit Tools
This release of the Java Card Development Kit Tools contain development tools that are used to convert and verify CAP files.
The following table describes the files and directories that are installed in the root installation directory (JC_RI_HOME_TOOLS
).
Directory/File | Description |
---|---|
|
Contains the export files for the Java Card 3.0.4 API packages. For the Development Kit Simulator bundles that include cryptography, it also includes the directory |
|
Contains the export files for the Java Card 3.0.5 API packages. For the Development Kit Simulator bundles that include cryptography, it also includes the directory |
|
Contains the export files for the Java Card 3.1 API packages. For the Development Kit Simulator bundles that include cryptography, it also includes the directory |
|
Contains all shell scripts or batch files for running the tools (such as |
|
Contains license files. |
|
Contains all Java programming language JAR files required for running tools by using the shell scripts or batch files, provided in the |
1.7 Documentation
The Java Card Documentation web site provides online product documentation for the Java Card Platform.
Document | Description |
---|---|
Java Card Development Kit User Guide |
This document describes how to use the Java Card Development Kit to develop applications for Java Card Platform. It is available in HTML and PDF formats. |
Java Card Platform Specifications. |
The following specification documents are available for the Java Card Platform:
|
1.8 Product Information
The Java Card Technology website provides useful information about the Java Card product.
Visit the Java Card Technology website to access the most up-to-date information on the following:
- Product news and reviews
- Release notes and product documentation
1.9 Documentation Accessibility
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.
Java Card Development Kit Tools Release Notes, Version 3.1.0u4
F12191-07
January 2021
Copyright © 1998, 2021, Oracle and/or its affiliates.
This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.
The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.
If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable:
U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract. The terms governing the U.S. Government’s use of Oracle cloud services are defined by the applicable contract for such services. No other rights are granted to the U.S. Government.
This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.
Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.
Intel and Intel Inside are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Epyc, and the AMD logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.
This software or hardware and documentation may provide access to or information about content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services unless otherwise set forth in an applicable agreement between you and Oracle. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services, except as set forth in an applicable agreement between you and Oracle.