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 and verifier tools:
    • When specifying the -target option, the converter and verifier tools are automatically using an internal copy of the export files to ensure the use of the correct version of the export files
  • New features and improvements in the converter tool:
    • Fixed conversion failure when using invoke-virtual on specific methods with package visibility
  • 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 the verifier 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

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 and swap_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 the ECKey interface
  • 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

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:

    http://ant.apache.org

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

api_export_files_3.0.4

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 api_export_files_3.0.4\javacardx\crypto.

api_export_files_3.0.5

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 api_export_files_3.0.5\javacardx\crypto.

api_export_files_3.1.0

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 api_export_files_3.1.0\javacardx\crypto.

bin

Contains all shell scripts or batch files for running the tools (such as capdump, converter, and so on).

legal

Contains license files.

lib

Contains all Java programming language JAR files required for running tools by using the shell scripts or batch files, provided in the bin directory.

1.6 Known Issues

There are no known bugs or issues in this release.

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:
  • Java Card Platform Runtime Environment Specification, Classic Edition, Version 3.1 (PDF format)

  • Java Card Platform Virtual Machine Specification, Classic Edition, Version 3.1 (PDF format)

  • Java Card Platform Application Programming Interface, Classic Edition, Version 3.1 (HTML format)

  • Java Card Platform Specification Release Notes, Version 3.1 (HTML and PDF formats)

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.