Release Notes


Development Kit for the Java Card 3 Platform

Version 3.0.3, Classic Edition

November 2010

Table of Contents

1. Overview

2. Prerequisites

3. Installation Instructions

4. Setting System Variables and Paths

5. Known Bugs

6. Product Information and Feedback

1. Overview

These release notes describe the development kit for the Java Card 3 Platform, Version 3.0.3, Classic Edition. This version of the development kit is a maintenance release and includes bug fixes. It also supports a new tool, the trimming tool, which is designed to minimize the code footprint of an application before it is deployed to a smartcard. The trimming tool is available in a separate download bundle for licensees only.

Java Card technology combines a subset of the Java programming language with a runtime environment optimized for smart cards and similar small-memory embedded devices. The goal of Java Card technology is to bring many of the benefits of the Java programming language to the resource-constrained world of smart cards. The Java Card API is compatible with international standards such as ISO 7816, and industry-specific standards such as Europay, Master Card, and Visa (EMV).

Java Card platform version 3.0.3 is the latest evolution of Java Card technology. This development kit is based on version 3.0.1 of the Java Card specifications, which includes their errata sheets located at http://www.oracle.com/technetwork/java/javacard/jc-classic-spec-errata-140181.html. The Java Card 3 platform consists of version 3.0 and 3.0.1 of the specifications and versions 3.0.1, 3.0.2, and 3.0.3 of the development kit.

The Java Card platform is available in two editions, both of which are backward compatible with previous versions and share key security features:

2. Prerequisites

Required Operating System

Required Software

The following software must be installed for the Java Card development kit to work:

Note: Do not install any software in a directory that contains a space in its name. For example, do not install software in any subdirectory of c:\program files because of the space in the program files element

Note: The trimming tool bundle and the bundle containing the specifications must be downloaded separately.The bundle containing the trimming tool MUST be installed into a directory separate from this development kit directory.

Contents of This Release

This release contains both binary and source code. Note that neither the new trimming tool nor the Java Card specifications are included in this development kit release bundle. 

Note: This release fixes the off-card verifier verification problem, recently reported by THALES Information Systems Security, which is related to verification of multiple execution paths with changed local variable types.

This release contains features required to support classic Java Card applet applications on the card. Specifically, this release includes the following:

Note: The debugging tool jcwde, which was in previous releases, is no longer included. To develop and debug your classic applets, you might want to use the Connected Edition development kit and the NetBeans IDE, version 6.8 or higher, along with its Java Card technology-specific plugin.


3. Installation Instructions

For a more thorough description of the installation, contents and use of the development kit, see Development User's Guide, Java Card Platform, Version 3.0.3, Classic Edition included in the download bundle for this release.

An automatic installer tool can be used to unpack the download file containing this release. During download, you can choose to let the installer tool unpack the download file into a directory of your choice on your system or you can save the download file itself to your system.

Note: Do not install the development kit software in any directory that has a space in its name. For example, on a Windows platform, do not install software in the c:\program files directory, or any subdirectory of c:\program files, because the program files element contains a space.

Note: Do not install the trimming tool bundle into the directory containing this development kit. The trimming tool must be installed into a separate folder that is not within the installed development kit's folder.

Note: Do not install this version of the Java Card development kit or trimming tool into an existing directory for an older version. You must first uninstall the previously installed version of the Java Card development kit or trimming tool prior to installing this version into the old directory. Installing into the same directory without first uninstalling could result in unpredictable behavior.

To install the Java Card development kit and associated software, follow these steps:

  1. Install the JDK version 6, Update 10 or later. This JDK is available from: http://www.oracle.com/technetwork/java/javase/downloads/index.html.
  2. Install Apache Ant version 1.6.5 or later. The latest version is available at: http://ant.apache.org/.
  3. Install the GCC compiler. The compiler Minimal GNU for Windows (MinGW), version 5.1.4 is required.  It is available at http://sourceforge.net/projects/mingw, while its installation information is at http://www.mingw.org.
  4. Download the Java Card development kit. Download and store the development kit Java Archive (JAR) file in a directory of your choice.
  5. Run the development kit installer or use the command line. Double click the JAR file on your system. If the JDK is installed correctly, the jar file is recognized as an executable jar and the automatic installer will launch to step you through the remainder of the installation process.

Alternatively, you can use the command line to unpack the JAR file using the following command:

java -jar Bundle-Filename

Where Bundle-Filename is the downloaded development kit JAR file.

By default, the development kit is installed in C:\JCDK3.0.3_ClassicEdition_RR and its associated sub-directories. You can specify a different directory if you wish.

The directory C:\JCDK3.0.3_ClassicEdition_RR (or the alternate directory you specify during installation) is referred to as JC_CLASSIC_HOME in these release notes. When the development kit installation is complete, JC_CLASSIC_HOME contains the following:


JC_CLASSIC_HOME These release notes.
Copyright files.
docs JCDevKitUG-Classic-3_0_3.pdf  Development Kit User's Guide for the Java Card Platform, Version 3.0.3, Classic Edition.
docs\html The HTML version of Development Kit User's Guide for the Java Card Platform, Version 3.0.3, Classic Edition.
docs\apduio Javadoc tool files for use with APDU I/O described in the user's guide.
docs\rmiclient Javadoc tool files for use with optional RMI implementation described in the user's guide.
docs\api Javadoc tool files for the API.
api_export_files Contains java, javacard, and javacardx directories of API export files.
bin Development kit executable files.
samples\classic_applets Samples of basic classic applets, such as HelloWorld.
samples\reference_apps Samples of more robust classic applets.
lib Configuration and JAR files for the API, tools.
Third-party libraries.
src Development kit source files. AVAILABLE ONLY IF YOU HAVE A SOURCE BUNDLE.
Uninstaller\uninstaller.jar Uninstalls the development kit.
legal License files.

4. Setting System Variables and Paths

System variables and paths must be set before running the development kit. See the Development Kit User's Guide more details on how to set them. Note that if you choose to set the variables and paths each time you run the development kit rather than permanently in your system, you can place the appropriate commands in a batch file.

Configuring the Java Card Runtime Environment for the Samples

Note that the Java Card RE (cref) implementation is not optimized for memory or performance and, therefore, requires more memory than an actual optimized implementation on a card. To run the Java Card RE, you can use the default executable, cref.bat, using the command line as follows:

JC_CLASSIC_HOME\bin\cref.bat

5. Known Bugs

For issues related to the new trimming tool, see its release notes in the separate trimming tool download bundle.

6903384
Converter fails to generate cap file if an applet imports some.other.package.Shareable interface.
6994105
Transaction does't work in RandomData.generateData() with the ALG_PSEUDO_RANDOM algorithm.
6997670 Verifier error with -debug: Invalid variable count for non-abstract method XXX in class XYZ.


6. Product Information and Feedback

The public Java Card technology web site is http://www.oracle.com/technetwork/java/javacard. The developer collaboration web site also contains information about Java Card technology at http://kenai.com/projects/javacard/pages/HOME.

If you are a Licensee, visit the product web site at https://java-partner.sun.com/portal/service/ent/platform/javacardgroup This site has the most up-to-date information on the following:

We greatly appreciate your feedback on this reference Implementation. Please send all feedback to jc3-ri-feedback@sun.com.


Copyright © 1998, 2010, Oracle and/or its affiliates. All rights reserved.