Release Notes

Development Kit for the Java Card™ Platform
Version 2.2.2


Binary Release


March 2006

 

Table of Contents

Introduction
Supported Platforms
Installation Instructions and Setting Up Your Environment
Documentation Roadmap For The Binary Release
Development Kit Documentation Bundle, Binary Release
Ant Tasks Bundle
Specification Documentation Bundle
White Papers
New Features and Improvements
Known Bugs and Issues
Where to Find Product Information and News

Introduction

These release notes describe the Development Kit for the Java Card™ Platform, Version 2.2.2. This binary release is available in separate bundles for the Solaris™, Linux, and Microsoft Windows operating systems.  These release notes pertain to both the development kit binary release and the development kit binary release with cryptography extensions. Issues that are marked (Development Kit with Cryptography Extensions only) pertain only to the Development Kit Binary Release with Cryptography Extensions, Version 2.2.2.

The development kit runs on a workstation using a Java™ Virtual Machine (VM). The virtual machine for the Java Card platform, version 2.2.2, is written in the "C" programming language.  For more details on the reference implementation (RI), please refer to the User's Guide that is installed with this kit.

Supported Platforms

  • Microsoft Windows XP Operating System
  • Solaris 10 Operating System (SPARC® platforms)

Java Development Kit software: Java™ 2 Standard Edition (J2SE™) SDK, version 1.5. You can download the supported SDK from here.

This release was built using gcc version 3.2.3 on Windows, 3.2.2 on Linux, and the Sun™ Studio 10: C 5.7 Compiler on Solaris.  The GNU Compiler Collection, gcc, can be obtained at http://gcc.gnu.org .

NOTE: The Linux platform version was tested on the English language SuSE Linux, kernel 2.6.5-7.139, and gcc version 3.2.2. The Linux platform version is unsupported;  Sun Microsystems may choose not to address problems or bug reports submitted against the Linux platform version.

No specific card readers are supported.

Installation Instructions and Setting Up Your Environment

For detailed instructions on installing the binary release, see Chapter 2, "Installation" in the Development Kit User's Guide that is included with this development kit. That chapter also describes any additional tools you might need for setting up your environment, such as Apache Ant.  See the Development Kit User's Guide or Ant Tasks User's Guide for more information on Apache Ant installation and setup.

Documentation Roadmap For The Binary Release

These release notes are at the base of a hierarchy of files in the unzipped download bundle.  Within the subdirectory java_card_kit-2_2_2 you will find several additional bundles: the Java Card specifications, the development kit documentation, the Ant Tasks, and the Java Card platform binary code itself.  You must unzip all these bundles in the subdirectory java_card_kit-2_2_2 to have full use of this development kit.

Documentation for version 2.2.2 of the Java Card platform binary release can be found in the development kit documentation bundle, the Ant tasks bundle, and the specification bundle. Note that the specifications within this download bundle are identical to the specifications available for separate download from the Java Card technology download web site.

Most documents are available in both HTML and PDF formats. HTML can be viewed with any CSS-compliant browser, such as:

  • Netscape Communicator, version 5.0 or later
  • Mozilla, version 1.1 or later

PDF files can be viewed in your web browser with an appropriate plugin or in Adobe® Acrobat Reader. Most recent browsers include the PDF reader plugin. If your browser does not, you can download the plugin from the browser vendor's web site or the Adobe web site at

http://www.adobe.com/products/acrobat/readstep.html

Documentation files packaged in the release were current when the release shipped. See any updates for the Java Card technology web site at

here

Development Kit Documentation Bundle, Binary Release

The following table lists the main binary release documentation, which is in the subdirectory java_card_kit-2_2_2/doc.
 

Document Description

Development Kit User’s Guide, Version 2.2.2 
 
Describes how to run the binary release for the Java Card Platform, Version 2.2.2.  You will find a User's Guide is in this bundle that corresponds to the type of development kit you have downloaded, either with or without the cryptography extensions.
The Javadoc™ tool files for the Java Card remote method invocation (Java Card RMI) client-side API are also included in HTML format and in PDF format.
Application Programming Notes, Version 2.2.2
Contains tips and guidelines for the applet developer who is using the Java Card Application Programming Interface for the Java Card Platform, Version 2.2.2, to implement applet management, multiselectable applets, logical channels and Java Card RMI. It is also for developers who are considering creating a vendor-specific framework based on any of the version 2.2.2 Java Card technology specifications.
The Javadoc tool files for the APDU I/O API are also included in HTML format and in PDF format.

Ant Tasks Bundle

The development kit tools require the use of Apache Ant.  However, the Ant tasks in the Ant tasks bundle are not part of the development kit and their use is optional and unsupported. See the Apache web site at http://ant.apache.org for information on Ant.

The Ant tasks bundle unzips within the binary release bundle at java_card_kit-2_2_2/ant-tasks.  When you unzip the Ant tasks bundle, the Ant tasks' Java Archive (JAR) file is extracted into the subdirectory  java_card_kit-2_2_2/ant-tasks/lib/jctasks.jar. The user's guide for the Ant tasks is extracted into the subdirectory  java_card_kit-2_2_2/ant-tasks /docs. For more information, see Ant Tasks User's Guide.

NOTE:Ant Tasks User's Guide

Document Description

Ant Tasks User's Guide, Version 2.2.2 Describes how to use the Ant tasks in the development kit to create your own, customized Ant tasks.  The Javadoc tool files for the Ant tasks API are also included in HTML format and in PDF format.
Ant Tasks Release Notes, Version 2.2.2 Describes the purpose and limitations of the Ant tasks provided with the development kit. While the Ant tasks are necessary to run the development kit, they are unsupported for use outside the development kit.

Specification Documentation Bundle

These documents are included in the specification bundle that is included with this binary release, as well as in the separately downloadable specification bundle. The specification bundle unzips into the subdirectory java_card_kit-2_2_2/jc_specification.

Document Description
Release Notes for the Java Card Specifications, Version 2.2.2 Describes changes to the specifications since Version 2.2.1 of the specifications.

Application Programming Interface for the Java Card Platform, Version 2.2.2 Provides the documentation for the Java Card API in PDF and HTML formats.
Virtual Machine Specification for the Java Card Platform, Version 2.2.2 Assists developers in creating an implementation, developing a specification to extend the Java Card technology specifications, or in creating an extension to the Java Card runtime environment. The specification is provided in PDF and HTML formats.
Runtime Environment Specification for the Java Card Platform, Version 2.2.2 Assists Java Card runtime environment implementers in creating an implementation, developing a specification to extend the Java Card technology specifications, or in creating an extension to the Java Card runtime environment. The specification is provided in PDF and HTML formats.

White Papers

The development kit documentation references the following white papers. You can obtain these white papers from the Java Card technology web site at here.

Document Description

Off-Card Verifier White Paper This white paper describes the off-card verifier for the Java Card platform. The off-card verifier provides the functionality for verifying that Java Card applets (CAP files) and export files conform to the Java Card specifications and platform interoperability standards.
Java Card RMI Client Application Programming Interface This white paper describes a sample client-side API to be used in client applications which access a Java Card Remote Method Invocation (RMI) server applet executing on the smart card. This API is presented as an aid to developers who are writing their own client-side API.

New Features and Improvements

  • Added support for ISO7816-4:2005 and 20 logical channels
  • Added applet programmability assists for ISO 7816 defined extended length APDU
  • MessageDigest now supports the initial message digest capability
  • Added support for the following new hashing algorithms:
    • SHA-256, SHA-384, SHA-512
  • Added support for the following new signature algorithms:
    • ISO9796-2 with message recovery
    • HMAC
    • Korean SEED MAC NOPAD
  • Added support for the following new cipher algorithms:
    • Korean SEED NOPAD
  • New extension package for ISO 7816 defined extended length APDU
  • New extension package for External Memory Subsystem access
  • New extension package for Biometry
  • New extension framework package includes
    • utility package to manipulate arrays and primitives of short and int type
    • math package for BCD and DES parity computations
    • TLV package for managing BER-TLV structures
  • Management of logical channels in contactless interface and in concurrent dual interface mode defined
  • Java Card runtime environmnet (Java Card RE) support for extended length APDU defined
  • Grammatical corrections for conformance with Sun's style guide for specifications
    • improved list introductions
    • fixed some verb tenses to present tense
  • Punctuation and rewording changes for readability and trademark restrictions
  • Font changes for conformance with Sun's style guide for specifications
  • Java Card platform language aligned with JDK™ version 1.5 technology and tools
  • DES encryption and signature APIs have been enhanced so that when transient keys are used, the API avoids persistent memory writes. The reduction in persistent memory writes was achieved by eliminating use of instance variables in persistent memory when transient keys are used. This enhancement will significantly improve the performance of the DES API, since persistent memory updates are relatively slow, when compared to RAM memory updates.
  • The default protocol supported in this release is T=1/T=CL dual interface.

Known Bugs and Issues



BUG ID DESCRIPTION
6301113 Error T=0 CASE 2 APDU with Le > 0xF9 : CadT0Client.isoOut only supports Le up to 249.
6316626 Apdutool script must follow ISO format.
6324856 Apduio/apdutool cannot handle T=0, Case 4 with Lc < 256, Le > 256.
6322909 T=0, CASE 4 with Le=00 (256) should be short case (4S).
6393099 Maskgen builds mask with negative remaining ROM space.
6395309 In T=0 apdu.setOutgoingNoChaining() does not return 256, applet implements ExtendedLength interface.

6357521 Contactless interface activation before contacted interface activation is not supported in the C-language Java Card Runtime Environment ( cref) or the Java Card WDE at this time.
6328483
 
For case 4E, APDU in T=0.  Section 11.2.3 in the ISO 7816-3 spec describes the Command APDU structure for case 4.  In case 4E, the entire command APDU structure is encapsulated in a series of envelope commands. Section 11.3.7 never says that LE should not be included; it only says that the entire APDU command should be the envelope. The specification is ambiguous whether LE should be included.  For the Java Card Platform, v2.2.2 release, LE is included in the encapsulated APDU.

T=1/T=0 Protocol Differences in API Behavior




T=CL Protocol Dual Interface Only

cref

Using a Contactless cref

crefcref

Where to Find Product Information and News

Visit the product web site at:

here

For the most up-to-date information on:

  • Product News and Reviews
  • Release Notes and Product Documentation
  • Technical Support Contact Information