Release Notes

Development Kit for the Java Card™ Platform

Version 3.0.1, Connected Edition

Binary Release

May 2009

 

 

Table of Contents

Introduction
Requirements
Contents of This Release
Application Support
Tools
Java Card Runtime Environment (cjcre.exe) Features
Web Application Features
Extended Java Card Applet Application Features
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, Connected 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 the 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:

Requirements

Platform

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.

Contents of This Release

This binary 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 applets, web applications, and extended Java Card applet applications on the card. Specifically, this release includes the following:

Application Support

This release supports web applications and classic and extended Java Card applet-based applications. The card manager application, which is built in, allows the user to do the following:

Tools

Java Card Runtime Environment (cjcre.exe) Features

Web Application Features

Extended Java Card Applet Application Features

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, Connected 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_ConnectedEdition and its associated sub-directories. You can specify a different directory if you wish.

The directory c:\jcdk3.0.1_ConnectedEdition (or the alternate directory you specify during installation) is referred to as JC_CONNECTED_HOME in these release notes. When the development kit installation is complete, JC_CONNECTED_HOME contains the following:

JC_CONNECTED_HOME RELEASENOTES.html - These release notes.
platform.properties -  contains information about the Java Card Platform for use by developer tools such as the NetBeans IDE.
Copyright files.
docs JCDevKitUG-Connected-3_0_1.pdf  - Development Kit User's Guide for the Java Card Platform, Version 3.0.1, Connected Edition.
UserGuide_html\index.html - HTML version of the user's guide.
apduiojavadocs.pdf - JavadocTM tool file for use with the user's guide.
rmijavadocs.pdf - Javadoc tool file for use witht the user's guide.
docs\api The development kit's API files.
api_export_files Contains java, javacard, and javacardx directories of API export files.
bin Development kit executable files.
samples\classic_applets The ClassicChannels sample shows how logical channels work.
samples\extended_applets HelloWorld sample using an extended applet.
samples\keystore Keystore and certificate files for use by the samples.
samples\reference_apps\Transit
The Transit sample application suite, also published in the Programming Notes for the Java Card 3 Platform, Connected Edition, is included here as a reference application. Please see the NOTE for this below in Known Bugs.
samples\web Samples using various web-based features.
lib Configuration and JAR files for the API, tools.
Third-party libraries.
legal License files.

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.

Configure the Java Card Runtime Environment for the Samples

Note that the Java Card RE (cjcre) implementation is not optimized for memory or performance and, therefore, requires more memory than an actual optimized implementation on a card. To run the samples provided with the development kit, the Java Card RE must be configured with at least 1M of RAM, 4M of EEPROM, and 4K of COR (Clear-On-Reset). These parameters can be provided to the Java Card RE using the Java Card RE command line as follows:

cjcre.exe -ramsize 1M -e2psize 4M -corsize 4K

For details see the Java Card RE command reference in the Development Kit User's Guide for the Java Card Platform, Version 3.0.1, Connected Edition.

Uninstalling the Development Kit

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

Known Bugs

This section describes known bugs and issues in the reference implementation.

NOTE: When running the Transit sample, you will need a User Name and PIN to authorize the remote admin. In the user guide's procedure "Run the Transit Sample" within Step #5, "Run the POSWEB sample application," there is a Sub-step #f.  After clicking the "AUTHORIZE" button in that step, you will need to enter the User Name as "owner-admin" and the PIN as "8888".

BUG ID DESCRIPTION
6836385 SecurityException is thrown during an attempt to access shareable service in constructor or init
6841620 ECDSA Signature.init fails after card reset
6834466 resources from ext. libs should be visible to other ext. libst (regardless the order of libs)
6843228 ECDSA Signature - incorrect transactional behavior
6840273 applet is not installed if exception is thrown after register()
6842527 JCSystem.getAppletShareableInterfaceObject(JCSystem.getAID(), ..) throws SecurityException
6836643 IllegalAccessError is not detected during loading of the modules
6833322 JCint.setInt does not set all bytes correctly
6833320 ArrayLogic.arrayFillGenericNonAtomic works incorrectly
6840918 CLEAR_ON_DESELECT array becomes an CLEAR_ON_RESET array after card reset
6798109 Methods EventRegistry.unregister() don't unregister listeners by relative URI
6783969 Register and unregister methods don't throw IAE as specified
6843219 Listener registered for relative URI isn't notified of event with the same canonicalized URI
6762416 Implementation returns wrong status code while redirecting to secure port
6796195 java.security.AccessControlException is thrown instead of IllegalArgumentException
6835891 CLEAR_ON_DESELECT arrays cannot be created during application creation
6747078 To secure the platf. when using Basic/Digest auth., Authorization headers should be filtered out
6747080 Behavior of container when login-config is not defined must be aligned with the spec
6747084 Matching of <scheme> component of authenticator URIs with the web app auth-method must be relaxed
6753926 Authenticator URI should have a "realm-name" path component that should match web app realm name
6808246 Card Manager does not support protection domain names
6808317 EventRegistry.unregister must unregister only the entries regsitered by current app URI

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:

Sending Feedback

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