Sun Java Solaris Communities My SDN Account Join SDN

Java Card

Release Notes - Development Kit for the Java Card Platform Version 3.0.1, Classic Edition

 
May 2009  
Contents
 
 
Introduction
Requirements
Contents of This Release
Installation
System Setup
Uninstalling the Development Kit
Known Bugs
Where to Find Product Information and News
Sending Feedback
 

Introduction

These release notes describe the development kit for the Java Card Platform, Version 3.0.1, Classic Edition, binary release.

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.1 is the latest evolution of Java Card technology. This development kit is based on Version 3.0.1 of the Java Card Specifications.

For the first time, the Java Card 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. Additional tools for the Classic Edition of the Java Card Platform, Version 3.0.1, are to be released at a later stage and are not covered by these notes. These release notes are for the Classic Edition.
  • 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.

Back to top


Requirements

Platform

  • Operating system. This release is targeted for use on the Microsoft Windows XP SP2 operating system.

Required Software

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

For use with the samples, the Firefox browser is considered a trusted client by the RI. Firefox is available at http://www.mozilla.com.

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.

Back to top


Contents of This Release

This release contains only binary code for the RI. Note that the Java Card specifications are not included in this release. The specifications must be downloaded separately.

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)
  • 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
  • optional Ant tasks
  • Sample applications
  • User's guide for this release in Development Kit User's Guide for the Java Card Platform, Version 3.0.1, Classic Edition

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 v6.7.

Back to top


Installation

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.1, 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 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.

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://java.sun.com/javase/downloads/index.jsp.
  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.3" 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.1_ClassicEdition and its associated sub-directories. You can specify a different directory if you wish.

The directory c:\jcdk3.0.1_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 RELEASENOTES-CL.html - The release notes.
Copyright files.
docs JCDevKitUG-Classic-3_0_1.pdf  - Development Kit User's Guide for the Java Card Platform, Version 3.0.1, Classic Edition.
UserGuide.html\index.html - The user's guide in HTML.
apduiojavadocs.pdf - Javadoc tool file for use with the user's guide.
rmijavadocs.pdf - Javadoc tool file for use witht 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.
legal License files.
 

Back to top


System Setup

Set 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.

  • 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_HOMEYou 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.1_ClassicEdition directory, enter set JC_CLASSIC_HOME=c:\jcdk3.0.1_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.

Configure 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

Back to top


Uninstalling the Development Kit

To completely remove the development kit, simply delete the JC_CLASSIC_HOME directory and all of its contents.

Back to top


Known Bugs

This section describes known bugs in the reference implementation.

Bug ID
Description
6406416
cref responds with SW_APPLET_SELECT_FAILED when an unopened logical channel number in the CLA byte
6778823
Java Card 2.2.2 RI send wrong response on trying selctWithRMI with wrong channel ID
6651409
Some crypto algorithms do not work over contactless I/O
6844047
16 bit binary can not be prepared using classic edition source bundle
 

Back to top


Where to Find Product Information and News

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

Back to top


Sending Feedback

We greatly appreciate your feedback on the specifications.

Back to top