1.2 Introduction

Java Card technology 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 the 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 Simulator version 3.1.0u5, which is based on version 3.1 of the Java Card Platform Specifications.

1.3 What's New

The following are the new features, changes, and bug fixes in the Java Card Development Kit Simulator, version 3.1.0u5:

  • Fixes to setKey() and getKey() methods of HMACKey and GenericSecretKey as per the clarifications provided in the specification.

The following are the new features, changes, and bug fixes in the Java Card Development Kit Simulator, version 3.1.0u4:

  • Added the usage of the target platform when the CAP file verification is done in Eclipse plugin projects
  • Added the usage of the target platform when CAP file verification is done for building the samples using the Ant tool
  • Fixes in HMAC implementation and handling of APDU case 4 in the APDU tool

The following are the new features, changes, and bug fixes in the Java Card Development Kit Simulator, version 3.1.0u3:

  • Fixed an installer issue when loading multiple applet and library CAP files with static resources
  • Fixed a minor issue in the ByteBuffer.slice method

The following are new features and changes in the Java Card Development Kit Simulator, version 3.1.0u1:

  • The Java Card plugin for Eclipse now supports all features of the latest Java Card Development Kit Tools and usability improvements for their integration. New features include:
    • Support for extended CAP files
    • Support for static resources in CAP files
    • Support the target parameter of the converter for the following versions of the Java Card Platform Specifications: 3.0.4, 3.0.5, and 3.1.0
    • New and improved management of CAP file configurations and the build process
    • Persistence of CAP file configurations in files that can be directly used by the converter tool in the command line
    • Support for Java Card Development Kit Tools path configuration as an independent setting. This ensures that the plug-in can always be configured to access the latest tools bundle.
    • Support for Java Card framework API debugging (source bundles only)

The following are new features and changes in the Java Card Development Kit Simulator, version 3.1:

  • The Java Card Development Kit Simulator now supports version 3.1 of the Java Card Platform specifications. New features include:
    • Improved API Extensibility Using Virtual Method Mapping Table
    • Support for Array Views
    • Support for large CAP file that may comprise multiple packages
    • Support for static resources in CAP files
    • Certificate API
    • Monotonic Counter API
    • System Time API
    • Extended I/O Framework

    For a complete list of supported features, see the Java Card Development Kit User Guide, Version 3.1.

  • Java Card Development Kit Tools and Java Card Development Kit Simulator are now two independent bundles, which can be downloaded separately, enabling easier update of the Development Kit Tools.
  • New samples are available to demonstrate the use of:
    • Array Views
    • Certificate Handling

The Java Card Development Kit Simulator, version 3.1 also supports new cryptographic algorithms. For a list of the supported cryptographic algorithms, see Supported Cryptography Classes section in the Java Card Development Kit User Guide, Version 3.1.

1.4 System Requirements

This product is targeted for use on a PC running the Microsoft Windows 7, Windows 8, and Windows10 operating system.

The following software must be installed for the Java Card Development Kit Simulator 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.

  • Eclipse IDE: Eclipse IDE is optional and is required only for using Eclipse plug-in. Download the Windows Eclipse IDE (Eclipse Neon, Oxygen, or Photon) from the following URL, and install it according to instructions on the website:

    https://www.eclipse.org/

1.5 Installation

The Java Card Specifications, Development Kit Simulator, and Development Kit Tools must be downloaded and installed individually.

  • See the Downloading the Specification Documents topic of the Java Card Platform Specification Release Notes, Version 3.1 for more details on how to download the Java Card Specification 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 Simulator installer is provided on the Oracle Technology Network download website (https://www.oracle.com/technetwork/java/embedded/javacard/overview/index.html). Install the Development Kit Simulator by downloading and running the Java Card Development Kit Simulator .msi installer.

1.5.1 Contents of the Development Kit Simulator

This release of the Java Card Development Kit Simulator contains Java Card simulation environment and Eclipse plug-in.

The following table describes the files and directories that are installed in the root installation directory (JC_HOME_SIMULATOR).

Directory/File Description

bin

Contains all shell scripts or batch files for running the tools (such as the apdutool, capdump, converter, and so on), and the cref (Java Card Platform Simulator) binary executable.

docs

Contains subdirectories each with compilations of the Javadoc tool files for the APDU I/O API, the Java Card 3.1 API, and the Java Card Client RMI API.

eclipse-plugin

The repository for the Java Card plugin for Eclipse.

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.

samples

Contains sample applets and applications.

1.6 Known Issues

After installing the Java Card Eclipse plugin in Eclipse, when you start the Eclipse for the first time, the Java Card Run/Debug configurations in the Run/Debug Settings of the project properties might not appear. To fix this issue, you must reopen the Run/Debug Settings window.

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.