Contents
Introduction
These release notes introduce the Java Card™ specifications for the Java Card Platform, Version 3.0.
The Java Card Platform, Version 3.0 consists of two editions, both of which are backward compatible with previous versions and share key security features:
- The Classic Edition is based on an evolution of the Java Card Platform, Version 2.2.2 and targets resource-constrained devices that support applet-based applications. Bug fixes and clarifications against the Java Card v2.2.2 specifications and new security algorithms have been included. You may disregard the specifications for the Connected Edition if you are interested in the functionality found only in the Classic Edition.
- The Connected Edition features a significantly enhanced runtime environment and a new virtual machine. It targets less resource-constrained devices and includes new network-oriented features, such as support for web applications, including the Java™ Servlet APIs, and also support for applets with extended and advanced capabilities. An application written for or an implementation of the Connected Edition may use features found in the Classic Edition. Therefore, you will need to use the specifications for both the Classic Edition and the Connected Edition.
 |
|
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 v2.2.2. |
|
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 v2.2.2. |
Virtual Machine Specification for the Java Card Platform, Classic Edition |
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 v2.2.2. |
 |
|
This specification describes the runtime environment required for interoperable execution of Java Card technology-based servlets and applets with extended/advanced capabilities. It also includes some information on Classic applets, but see the Classic runtime environment specification for the bulk of that information. |
|
This specification describes the requirements for interoperable Java Card technology-based servlet execution. |
Application Programming Interface for the Java Card Platform, Connected Edition |
This API defines a set of classes upon which Java Card technology-based servlets and applets with extended/advanced capabilities can be constructed. It also includes some information on Classic applets, but see the Classic API specification for the bulk of that information. For more information on servlet execution, see the servlet specification for the Java Card platform. |
Virtual Machine Specification for the Java Card Platform, Connected Edition |
This specification describes the new virtual machine for the Connected Edition of the Java Card Platform. |
Sample Structure of Application Modules, Connected Edition |
This sample shows the structure of the distribution format and the use and syntax of the application descriptors. |
Back to top
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:
- 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.
Back to top
Installation Instructions
Download and unzip the specification bundle. The bundle unzips into the subdirectory javacard_specifications-3_0-rr, within which you will find the subdirectories classic/ and connected/:
classic/ Subdirectory
Within the classic/ subdirectory you will find the specifications as listed:
jcre_classic - contains the Java Card runtime environment specification for the Classic Edition in PDF format (JCREspecCLASSIC-3_0-RR.pdf) and in HTML format at classic/jcre_classic/html/index.html
jcvm_classic - contains the Java Card virtual machine specification for the Classic Edition in PDF format (JCVMspecCLASSIC-3_0-RR.pdf) and in HTML format at classic/jcvm_classic/html/index.html
api_classic - contains the Java Card API specification for the Classic Edition in Javadoc™ tool HTML format. This subdirectory also contains a PDF version (APIspecCLASSIC-3_0-RR.pdf) of those files.
connected/ Subdirectory
Within the connected/ subdirectory you will find the specifications as listed:
api_connected - contains the Java Card API specification for the Connected Edition in Javadoc tool HTML format. The subdirectory api_connected/spi/ contains the System Programming Interface (SPI) specification in Javadoc tool HTML format. The Descriptor XML schemas are available at http://java.sun.com/xml/ns/jcns/
jcre_connected - contains the Java Card runtime environment specification for the Connected Edition in PDF format (JCREspecCONNECTED-3_0-RR.pdf) and in HTML format at connected/jcre_connected/html/index.html
jcvm_connected - contains the Java Card virtual machine specification for the Connected Edition in PDF format (JCVMspecCONNECTED-3_0-RR.pdf) and in HTML format at connected/jcvm_connected/html/index.html
servlet_connected - contains the servlet specification for the Java Card Platform in PDF format (ServletspecCONNECTED-3_0-RR.pdf) and in HTML format at connected/servlet_connected/html/index.html
sample_connected - contains the sample distribution format Java™ Archive (JAR) structure and the use of descriptors to configure the application.
Back to top
Changes in the Classic Edition Specifications since the Java Card Platform, v2.2.2
The following sections describe the changes to the Classic Edition specifications for the Java Card platform since the previous release.
Application Programming Interface, Version 3.0, Classic Edition
This section describes the changes to the Application Programming Interface Specification for the Java Card Platform, Version 3.0, Classic Edition since the previous release. The package version numbers (export file versions) of the updated packages in the Application Programming Interface, Version 3.0, Classic Edition are shown below. All other package version numbers are unchanged from version 2.2.2:
- package javacard.framework
- package javacard.security
- package javacardx.crypto
The export files associated with the API packages are available with the reference implementation bundles.
Summary
Updates to the API specification since the Java Card Platform, v2.2.2 version include:
- javacard.framework.APDU
- Clarified methods
getCLAChannel, isSecureMessaging, isCommandChaining with respect to RFU and 0xFF encodings of CLA, added new isValidCLA method - #6503484
setOutgoingNoChaining method clarified comment about 61xx command chaining restrictions - #6506163
- Added case 4E mentions in
setOutgoing, setOutgoingNoChaining methods where T=0 extended length 4S called out - #6621872
- Added ISOException with
SW_WRONG_LENGTH in setOutgoing and setOutgoingNochaing methods if in T=1, Le>32767 - #6543550
- javacard.security.KeyBuilder
- Added 4096 bit RSA key - #6593240
- Added support for transient RSA, EC and DSA private keys - #6270329
- Added support for Suite B keys – longer EC_FP keys - #6270320
javacard.security.Signature
- Added note for ALG_ECDSA_SHA algorithm on truncating SHA
digest
to EC key length if required per SEC 1 - #6575843
- Added support for Suite B EC signatures with SHA-256,
SHA-384 - #6270320
- Added support for Suite B AES signatures with 192, 256 bit
blocks - #6270320
- javacard.security.KeyAgreement
- Clarified
ALG_EC_SVDP_DH
and ALG_EC_SVDP_DHC on
requirement
of
output to be the computed SHA-1 on key derivation primitive. -#6557775
- Duplicated
ALG_EC_SVDP_DH
and ALG_EC_SVDP_DHC
with _KDF names
with identical descriptions to make key derivation step (SHA) more
intuitive - #6557775
- Added support for Suite B KeyAgreement for longer
secret
key generation using RAW mode - #6270320
- javacardx.crypto.Cipher
- Added support for Suite B AES ciphers with 192, 256 bit
blocks - #6270320
- Added AES algorithms with ISO9797 and PKCS#5 padding
options
- javacardx.external.Memory
- Added support for external 4K MIFARE memory #6639482
Back to top
Runtime Environment Specification, Version 3.0, Classic Edition
This section describes the changes to the Runtime Environment Specification for the Java Card Platform, Version 3.0, Classic Edition since the previous release.
Summary
Updates to the Runtime Environment specification since the Java Card Platform, v2.2.2 version include:
- Clarified selection requirements of default applications in
contactless interface
- Added support for ETSI defined SWP protocol defined in ETSI
TS 102 613 for contactless communication, and for independent contacted
and contactless interfaces
- Added support for USB connected interface communication
- Clarified the behavior of outbound I/O when the applet aborts
wihout sending the number of bytes specified via setOutgoingLength method
- Clarified the behavior of applets not implementing the ExtendedLength interface with
respect to application level T=0
ENVELOPE
commands
- Added constant values corresponding to the new security
algorithms and key sizes
Back to top
Virtual Machine Specification, Version 3.0, Classic Edition
This section describes the changes to the Virtual Machine Specification for the Java Card Platform, Version 3.0, Classic Edition since the previous release.
Summary
- This version incorporates minor typographical fixes since the
Java Card
Platform, v2.2.2 version.
New Features in the Connected Edition Specifications
The following sections describe the contents of the Connected
Edition specifications for the Java Card platform.
Java Servlet Specification,
Version 3.0, Connected Edition
This section describes the new Java Servlet Specification for the Java Card Platform, Version 3.0, Connected Edition.
Summary
- The Java
Servlet API for the Java Card Platform is a subset of the Java Servlet
API v.2.4. The subset is described in this draft.
- For information on other features in web applications, see the
Connected Edition's API
and runtime
environment specifications.
Back to top
Application Programming Interface, Version 3.0, Connected Edition
This section describes the Application Programming Interface Specification for the Java Card Platform, Version 3.0, Connected Edition.
Summary
- This API contains specifications for extended and enhanced applets and for web applications, including servlets. Some APIs pertain to classic applets, but the bulk of that information is in the Classic Edition's API.
- The following packages are new in the Java Card Platform, v3.0:
java.security
java.util
javacardx.facilities
javacardx.framework
javacardx.io
javacardx.security
javax.microedition.io
javax.microedition.pki
javax.servlet
javax.servlet.http
javacardx.spi.framework
javacardx.spi.cardmgmt
javacardx.spi.security
com.sun.javacard.spi.cardmgmt [INFORMATIVE ONLY]
com.sun.javacard.spi.security [ INFORMATIVE ONLY]
Back to top
Runtime Environment Specification, Version 3.0, Connected Edition
This section describes the Runtime Environment Specification for the Java Card Platform, Version 3.0, Connected Edition.
Summary
- The information in this book covers web applications and applets with extended/advanced capabilities. It also includes some information on classic applets, but see the Classic runtime environment specification for the bulk of that information. For more information on servlet execution, see the servlet specification for the Java Card platform.
Back to top
Virtual Machine Specification, Version 3.0, Connected Edition
This section describes the Virtual Machine Specification for the Java Card Platform, Version 3.0, Connected Edition.
Summary
- The virtual machine specification describes the core platform features of the Java Card platform, Connected Edition
- The supported subset of the Java Language Specification
- The supported subset of the Java Virtual Machine Specification
- Core platform classes – subset of Java™ Platform, Standard Edition class libraries and Java™ Platform, Micro Edition class libraries
Back to top
Sample Structure of Application Modules for Version 3.0, Connected Edition
This section describes the Sample Application Modules for the Java Card Platform, Version 3.0, Connected Edition.
Summary
- This is a skeleton of three sample application distribution format structures, two standalone web application modules and a standalone extended applet application module.
- The sample directory includes a README note describing the structure and the descriptors.
- The JAR files have been built by the packager tool.
Sending Feedback
We greatly appreciate your feedback on the specifications.
Back to top
|