Release Notes - Java Card 3.0 Platform Specification

   
Contents
 
 
Introduction
Supported Platforms
Installation Instructions
Changes in the Classic Edition Specifications since the Java Card Platform, v2.2.2
 
 
Application Programming Interface, Version 3.0, Classic Edition
Runtime Environment Specification, Version 3.0, Classic Edition
Virtual Machine Specification, Version 3.0, Classic Edition
New Features in the Connected Edition Specifications
 
 
Java Servlet Specification, Version 3.0, Connected Edition
Application Programming Interface, Version 3.0, Connected Edition
Runtime Environment Specification, Version 3.0, Connected Edition
Virtual Machine Specification, Version 3.0, Connected Edition
Sample Structure of Application Modules for Version 3.0, Connected Edition
Sending Feedback
 
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.
Classic Edition
 
 
Runtime Environment Specification for the Java Card Platform, Classic 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.
Application Programming Interface for the Java Card Platform, Classic Edition
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.
 
Connected Edition
 
 
Runtime Environment Specification for the Java Card Platform, Connected Edition
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.
Java Servlet Specification for the Java Card Platform, Connected Edition
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://www.oracle.com/webfolder/technetwork/jsc/xml/ns/jcns/index.html
  • 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
    • version number = 1.4
  • package javacard.security
    • version number = 1.4
  • package javacardx.crypto
    • version number = 1.4

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 S ample 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