Release NotesDevelopment Kit for the Java CardTM Platform
|
The Development Kit tools for the Java CardTM platform version 2.2.1, run on a workstation using a Java Virtual Machine (VM). The Virtual Machine for the Java Card platform, version 2.2.1, is written in the "C" programming language. Separate bundles for the SolarisTM, Linux, and Microsoft Windows 2000 operating systems are available for this release. For more details on the reference implementation (RI), please refer to the User's Guide that is installed with the Java Card Development Kit, version 2.2.1.
The issues discussed in 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.1.
Java Development Kit: JavaTM 2 Standard Edition (J2SETM) SDK, version 1.4.1. You can download the supported SDK from http://java.sun.com/j2se/.
NOTE: The Java Card Development Kit, version 2.2.1, has been successfully ported to the Linux platform, but it is not supported. Furthermore, the Linux platform version of the toolkit is unsupported and has undergone only limited testing. The Linux platform version was tested only on the English language Red Hat Linux 7.2, kernel 2.4.7-10, and gcc version 2.96.
For instructions on installing the binary release, see Chapter 2, "Installation" in the User's Guide that is included with the version 2.2.1 Development Kit. This chapter also describes any additional tools you might need for setting up your environment.
Documentation for the version 2.2.1 Java Card platform can be found in the Development Kit product download bundle and the Specification download bundle.
HTML can be viewed with any CSS-compliant browser, 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
Documentation files packaged in the product were current when the product shipped. See the Java Card technology web site for any updates.
The following table provides links to the documentation for the binary
release of the Development Kit:
Document | Format | Description | |
---|---|---|---|
|
|||
Java CardTM Development Kit User’s Guide, version 2.2.1 (binary release) | PDF, HTML |
Describes how to run the binary release of the version 2.2.1 Java Card platform reference implementation. |
|
Application Programming Notes | PDF, HTML | Contains tips and guidelines for the applet developer who is using the Java Card Application Programming Interface, version 2.2.1, 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 version 2.2.1 of Java Card technology specifications. | |
API Reference | HTML | Specifies the Java Card APIs, generated with the JavadocTM tool. | |
Frequently Asked Questions (FAQ) | HTML |
The publicly available Technology FAQ contains answers to questions and clarifications regarding the release. The FAQ resides at the Java Card technology web site: http://java.sun.com/products/javacard/faq.html |
These documents are included in the specification download bundle:
Document | Description | ||
---|---|---|---|
|
|||
Application Programming Interface for the Java CardTM Platform, version 2.2.1 |
Provides the documentation for the Java Card API in PDF and HTML formats. |
||
Virtual Machine Specification for the Java CardTM Platform, version 2.2.1 | 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 CardTM Platform, version 2.2.1 |
Assists Java Card runtime environment implementors 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. |
The Development Kit documentation references the following white papers. You can obtain these white papers from the Java Card documentation web site on http://java.sun.com/products/javacard.
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. |
||
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 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. |
Previous versions of the Development Kit for the Java Card platform were released as a 16-bit implementation. For the 2.2.1 release, a 32-bit version of the Development Kit has been implemented. By breaking the 64KB memory limitation that was present in earlier versions, you can now write larger applications and access larger areas of storage. The Photo Card demo has been included in the Development Kit to illustrate the use of the large address space.
Java Card Workstation Development Environment ("Java Card WDE") now supports Java Card RMI. Any applet that uses Java Card RMI can now be run and debugged on Java Card WDE. The RMI demos in the Development Kit can now run on Java Card WDE.
Version 2.2.1 has added an AppletEvent.uninstall() method to allow you greater flexibility in deleting applets.
Java Card 2.2.1 supports cryptography with the implementation of security and cryptography classes.
Both the C-language Java Card runtime environment and Java Card WDE support the following encryption algorithm implementations:
See the Release Notes included with the specification download bundle.
Running the Development Kit with J2SE SDK 1.4.2
The Development Kit for the Java Card Platform, version 2.2.1, might not work with the J2SE SDK 1.4.2.
Memory Limitations on Different Versions of CREF
Version 2.2.1 provides a C-language Java Card Reference Implementation (CREF) that supports 32-bit addressing. The following table lists the RAM, EEPROM, and ROM memory available for CREF depending on whether it includes cryptography extensions.
CREF Configuration | RAM | EEPROM | ROM | ||
---|---|---|---|---|---|
|
|||||
32-bit, without cryptography extensions |
1280 bytes |
64 KB
|
40 KB
|
||
32-bit, with cryptography extensions |
2048 bytes
|
64 KB
|
44 KB
|
Cannot Validate that EC Key domain parameters are prime values
The code in the Java Card WDE which validates that EC Key domain parameters P and R are prime values has currently been commented out due to a bug in JDK 1.4.1. This is because the prime check for the BigInteger library will return false for certain truly prime numbers that are commonly used as one of these domain parameters. The bug is 4814775 and has been fixed in JDK 1.4.2.
Default applet settings for logical channels have been changed
In previous versions of the Java Card reference implementation, the Installer was the default applet on all of the logical channels. In version 2.2.1 of the reference implementation, the Installer is the default applet only on logical channel 0. The default applet on the other logical channels is set to "No applet selected".
Visit the product web site at:
http://java.sun.com/products/javacard/
For the most up-to-date information on:
To report a new bug or submit a feature request, fill out the details in
the easy-to-use form on Sun's web site at:
http://java.sun.com/cgi-bin/bugreport.cgi
To get an answer to a question which is not about a bug or a feature request, we recommend you first check the Release Notes, then the Frequently Asked Questions (the Technology FAQ). This is often the fastest way to locate an answer.