Release Notes


Specifications for the Java Card 3 Platform

Version 3.0.4, Classic Edition

September 2011

Table of Contents

1. Overview

2. Supported Platforms

3. Installation Instructions

4. Changes in the Classic Edition Specifications Since Version 3.0.1

5. Bugs Fixed in Version 3.0.4

6. Product Information

1. Overview

These release notes describe the specifications for the Java Card 3 Platform, Version 3.0.4, Classic Edition. 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 platform is available in two editions, Classic and Connected. This Version 3.0.4 release of the specifications is for the Classic Edition; the Connected Edition specifications are not included in this release.

This release of the Classic Edition specifications is based on an evolution of Version 3.0.1 of the Classic Edition specifications, and targets more resource-constrained devices that support applet-based applications. This release introduces the applet programmer productivity features and better alignment with other industry standards. Also included are bug fixes and clarifications against the Java Card Classic Edition specifications, Version 3.0.1, and new security algorithms.

CLASSIC EDITION SPECIFICATION DESCRIPTION
Runtime Environment Specification,
Java Card Platform,
Classic Edition, Version 3.0.4

This specification describes the runtime environment (RE) for the Classic Edition of the Java Card Platform. This RE mirrors those REs found in previous releases of the Java Card platform, including v3.0.1 and v2.2.2.
Application Programming Interface,
Java Card Platform,
Classic Edition, Version 3.0.4

This API defines a set of classes upon which Java Card technology-based applets can be constructed. This API mirrors those APIs found in previous releases of the Java Card platform, including v3.0.1 and v2.2.2.
Virtual Machine Specification,
Java Card Platform,
Classic Edition, Version 3.0.4

This specification describes the virtual machine for the Classic Edition of the Java Card Platform. This VM mirrors those VMs found in previous releases of the Java Card platform, including v3.0.1 and v2.2.2.

2. Supported Platforms

The documents are accessible on any computer system with an unzip utility, Adobe Acrobat Reader (version 4.0 or later), and a CSS-compliant web browser.

HTML can be viewed with any CSS-compliant browser software, such as:

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.

3. Installation Instructions

Download and unzip the specifications bundle. The bundle unzips into the subdirectory jc3_classic_spec\javacard_specifications-3_0_4-RR, within which you will find the subdirectory classic.

Within the classic subdirectory you will find the specifications:

4. Changes in the Classic Edition Specifications Since Version 3.0.1

The following sections describe the changes to the Classic Edition specifications for the Java Card platform since the Version 3.01 release.

Application Programming Interface, Version 3.0.4, Classic Edition

This section describes the changes to the Application Programming Interface Specification, Java Card Platform, Version 3.0.4, Classic Edition since the Version 3.0.1 release.

The export files associated with the API packages of the Java Card Platform, Classic Edition, are included in the reference implementation bundle. The export files are subject to change until the final release. The new package version numbers are:

Summary

Updates to the API specification, Version 3.0.4, since Version 3.0.1 include:

Runtime Environment Specification, Version 3.0.4, Classic Edition

This section describes the changes to the Runtime Environment Specification, Java Card Platform, Version 3.0.4, Classic Edition since the Version 3.0.1 release. Change bars indicate changes since the Version 3.0.1 release.

Summary

Updates to the Runtime Environment specification, Version 3.0.4, since Version 3.0.1 include:

Virtual Machine Specification, Version 3.0.4, Classic Edition

The changes to the Virtual Machine Specification, Java Card Platform, Version 3.0.4, Classic Edition since the Version 3.0.1 release include:

5. Bugs Fixed in Version 3.0.4

This section describes the bugs that have been fixed in this release of the Java Card specifications, Classic Edition, Version 3.0.4.

BUG ID
DESCRIPTION
12270739

[SC] ? Which SW code JCRE send back in normal return while applet initiated transaction in progress

12270923 [SC] How must getAppletShareableInsterfaceObject(AID,) behave when a passed AID reference is null
12276097 Missing the description of saying RMI features is an optional one in JCRE3.0.1 spec
12276737 AES algorithms in spec allow non-standard block size
12277324 [SC]? Mismatched keylength btw RSAPrivateKey.setModulus()/HMACKey.setKey() and KeyBuilder.buildKey()
12279370 [SC] Behavior when no candidate applet to be selected for received indirect applet selection cmd?
12281185 response status when classic transaction is aborted by CJCRE from install method should be clarified
12283186 [SC] ? Return value of javacard.framework.APDU.getInBlockSize() in the cases T=CL and SWP
12289331 [RFE] Add some description for ALG_DES_MAC4_ISO9797_1_M2
12290930 [RFE] Incompatible case in rejecting of removing applet instance between JCRE222 spec and GP22 spec
12296013 Incorrect version for JCSystem.getVersion()
12297221 LENGTH_* and ALG_SHA_224 Constants in MessageDigest
12299386 Algorithm identifiers in signature
12304113 Add new crypto algorithm - ALG_DES_MAC8_ISO9797_1_M1_ALG3
12304746 APDU.getInBlockSize() APDU.getOutBlockSize() in the cases T=CL
12305324 [RFE] Description on sample program part for APDU.receiveBytes in JCAPI is not clear
12308329 [SC] ? On which condition JCSystem.isAppletActive() shall return true
12308403 [SC] ? Ownership of array objects created in the <clinit> method
12310287 SHDLC RSET signal should not reset card
12310288 Allow Install() if another applet from the same package is active
12228509 [RFE] Provide ECDSA Signature feature without hashing


6. 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:

We greatly appreciate your feedback on these specifications. 


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