## Release Notes

## Development Kit for the Java Card 3 Platform

### Version 3.0.4, Classic Edition

#### September 2011

Skip TOC

## Table of Contents

1. Overview

2. Prerequisites

3. Installation Instructions

4. Setting System Variables and Paths

5. Configuring the Java Card RE for the Samples

6. Development and Debugging with the NetBeans IDE

7. Product Information

## 1. Overview

These release notes describe the development kit for the Java Card 3 Platform, Version 3.0.4, Classic Edition. This version of the Classic Edition development kit is a maintenance release and includes bug fixes. It also contains a string annotation tool and string support as specified in Version 3.0.4 of the Java Card API specification, Classic Edition. This release does not include the Connected Edition.

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 3 Platform, Version 3.0.4, Classic Edition is the latest evolution of Java Card technology. This development kit is based on version 3.0.4 of the Java Card specifications, Classic Edition, which includes the errata sheets located at http://www.oracle.com/technetwork/java/javacard/jc-classic-spec-errata-140181.html. The Java Card 3 platform consists of versions 3.0, 3.0.1 and 3.0.4 of the specifications and versions 3.0.1, 3.0.2, 3.0.3 and 3.0.4 of the development kit.

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

- Classic Edition is based on an evolution of the Java Card Platform, Version 2.2.2, architecture. This edition targets more resource-constrained devices than the Connected Edition. These release notes are for the Classic Edition development kit, Version 3.0.4 only.

- Connected Edition contains a new architecture compared to the Java Card technology released in version 2.2.2, which is now known as the "Classic Edition." The Connected Edition enables the integration of smart cards within IP networks and web services architectures. To do so, it features a significantly enhanced runtime environment and virtual machine (VM), and it includes new network-oriented features, such as support for Java Servlet APIs and Java Card applets with extended and advanced capabilities.

Top

## 2. Prerequisites

### Required Operating System

- This release of the development kit for the Java Card 3 Platform, Version 3.0.4, Classic Edition is targeted for use on the Microsoft Windows XP SP3 operating system.

### Required Software

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

- Java Development Kit. The commercial version of Java Development Kit (JDK™) version 6, Update 10 or later is required. You can download the supported JDK software, JDK 6 Update 10 or later, from http://www.oracle.com/technetwork/java/javase/downloads/index.html.

- GCC Compiler. To build the VM, this release requires Minimal GNU for Windows (MinGW) version 5.1.4 or later. MinGW can be obtained from http://prdownloads.sourceforge.net/mingw. For information on MinGW go to http://www.mingw.org.

- Apache Ant. Apache Ant version 1.6.5 or later is required. Latest version of Apache Ant can be obtained http://ant.apache.org.

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 bundle containing the specifications must be downloaded separately.

### Contents of This Release

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

- Java Card runtime environment (`cref.exe`)

- Uninstaller tool

- Normalizer tool (normalizer.bat)

- APDU tool (`apdutool.bat`)

- capdump tool

- capgen tool

- Converter tool (`converter.bat`)

- exp2text tool

- on-card installer

- maskgen tool

- off-card verifier tool

- scriptgen tool

- String annotation processor

- optional Ant tasks

- Sample applications

- Classic Edition simulator for classic applet development and debugging

- (trimmer.bat) batch file for running the trimming tool with this development kit. The trimming tool bundle is available separately on the Java Licensee Engineering website

- Development Kit User's Guide, Java Card 3 Platform, Version 3.0.4, Classic Edition.

Top

## 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 3 Platform, Version 3.0.4, Classic Edition.

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 this version of the Java Card development kit into an existing directory for an older version. You must first uninstall the previously installed version of the Java Card development kit 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.4_ClassicEdition` and its associated sub-directories. You can specify a different directory if you wish.

The directory `C:\JCDK3.0.4_ClassicEdition` (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_4-RR.pdf` The Development Kit User's Guide for the Java Card Platform, Version 3.0.4, Classic Edition.
`docs\html` | HTML version of the user guide.
`docs\apduiolib` | Javadoc tool files for use with APDU I/O described in the user's guide.
`docs\rmiclientlib` | 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, including the trimmer.bat batch file for running the trimming tool with this development kit.
`classic_simulator` | Contains files and directory structure required to create a classic simulator platform in NetBeans for development and debugging of classic applications.
`lib` | Configuration and JAR files for the API, tools. Third-party libraries.
`samples\classic_applets` | Samples of basic classic applets, such as HelloWorld.
`samples\reference_apps` | Samples of more robust classic applets.
`src` | Development kit source files. AVAILABLE ONLY IF YOU HAVE A SOURCE BUNDLE.
`Uninstaller\uninstaller.jar` | Uninstalls the development kit.
`legal` | Legal files.

Top

## 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 for 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.

- `JAVA_HOME`. You must set the `JAVA_HOME` system variable to the JDK root directory before running the development kit

  - To temporarily set `JAVA_HOME` from the command line, enter the command: `set JAVA_HOME=c:\``path` before running the development kit. For example, if the Java platform software is stored in your `c:\jdk6` directory, enter `set JAVA_HOME=c:\jdk6` before running the development kit.

- `JC_CLASSIC_HOME`. You must set the `JC_CLASSIC_HOME` system variable to the directory in which the development kit is installed before running the development kit.

  - To temporarily set `JC_CLASSIC_HOME` from the command line, enter the command: `set JC_CLASSIC_HOME=c:\``path` before running the development kit. For example, if the Java Card development kit is stored in your `c:\JCDK3.0.4_ClassicEdition` directory, enter `set JC_CLASSIC_HOME=c:\JCDK3.0.4_ClassicEdition` before running the development kit.

- Apache Ant. You must set the ANT_HOME system variable to the Apache Ant directory before running the samples.

  - To temporarily set `ANT_HOME` from the command line, enter the command: `set PATH=c:\``path` before running the development kit. For example, if Apache Ant is stored in your `c:\ant\apache-ant1.6.5` directory, enter `set ANT_HOME=c:\ant\apache-ant1.6.5` before running the development kit.

- MinGW. You must set the path to the location of `MinGW` before running the development kit. Note that the path has to point to the `\bin` subdirectory of the `MinGW` installation directory where the `gcc.exe` file is located.

  - To temporarily set the path to MinGW, enter the command `set PATH=c:\``MinGW_path``;%PATH%`. For example, if MinGW is installed in `c:\MinGW`, enter the command `set PATH=c:\MinGW\bin;%PATH%` before running the development kit.

## 5. Configuring the Java Card RE 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

Top

## 6. Development and Debugging with the NetBeans IDE

This release of Java Card Classic Development Kit supports development of classic applications and libraries using NetBeans. To develop and debug classic Java Card applications with NetBeans Java Card plug-in, please follow the following steps:

1. Download the latest version NetBeans with Java Card technology-specific plug-in. You will find the latest version in the NetBeans Download Center.

2. In the NetBeans Services window, under Java Card Runtimes, add a new Java Card platform using `JC_CLASSIC_HOME/classic_simulator` directory as the platform directory.

### Known Issues With NetBeans IDE Java Card Technology Plug-in

Following is the list of known issues and workarounds for the Java Card plug-in in NetBeans. For issues related to the trimming tool, see its release notes in the separate trimming tool download bundle.

Bug Id | Description
200983 | The classic simulator bundled in the Java Card v3.0.4 BETA development kit does not work when the development kit is installed in a relatively deeper directory layer

Top

## 7. Product Information

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:

- Product news and reviews

- Release notes and product documentation

- Technical support contact information

We greatly appreciate your feedback on this reference Implementation.

Top

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