Java Card
v2.2.2

Java Card v2.2.2 API

This document is the specification for the Java CardTM application programming interface(API), version 2.2.2, which is a subset of the JavaTM programming language.

See:
          Description

Core Packages
java.io Defines a subset of the java.io package in the standard Java programming language.
java.lang Provides classes that are fundamental to the design of the Java Card technology subset of the Java programming language.
java.rmi Defines the Remote interface which identifies interfaces whose methods can be invoked from card acceptance device (CAD) client applications.
javacard.framework Provides a framework of classes and interfaces for building, communicating with and working with Java Card technology-based applets.
javacard.framework.service Provides a service framework of classes and interfaces that allow a Java Card technology-based applet to be designed as an aggregation of service components.
javacard.security Provides classes and interfaces that contain publicly-available functionality for implementing a security and cryptography framework on the Java Card platform.

 

Standard Extensions
javacardx.apdu Extension package that enables support for ISO7816 specification defined optional APDU related mechanisms.
javacardx.biometry Extension package that contains functionality for implementing a biometric framework on the Java Card platform.
javacardx.crypto Extension package that contains functionality, which may be subject to export controls, for implementing a security and cryptography framework on the Java Card platform.
javacardx.external Extension package that provides mechanisms to access memory subsystems which are not directly addressable by the Java Card runtime environment(Java Card RE) on the Java Card platform.
javacardx.framework.math Extension package that contains common utility functions for BCD math and parity computations.
javacardx.framework.tlv Extension package that contains functionality, for managing storage for BER TLV formatted data, based on the ASN.1 BER encoding rules of ISO/IEC 8825-1:2002, as well as parsing and editing BER TLV formatted data in I/O buffers.
javacardx.framework.util Extension package that contains common utility functions for manipulating arrays of primitive components - byte, short or int.
javacardx.framework.util.intx Extension package that contains common utility functions for using int components.

 

This document is the specification for the Java CardTM application programming interface(API), version 2.2.2, which is a subset of the JavaTM programming language.

API Notes, Java Card Platform, v2.2.2

Referenced Standards

ISO - International Standards Organization

RSA Data Security, Inc.

EMV

ANSI

IEEE

IETF (Internet Engineering Task Force) - IPSec Working Group

IETF (Internet Engineering Task Force) - Network Working Group

FIPS

KISA - Korea Information Security Agency

Standard Names for Security and Crypto Packages

Parameter Checking

Policy

All Java Card API implementations must conform to the Java model of parameter checking. That is, the API code should not check for those parameter errors which the Java Card Virtual Machine(VM) is expected to detect. These include all parameter errors, such as null pointers, index out of bounds, and so forth, that result in standard runtime exceptions. The runtime exceptions that are thrown by the Java Card VM are:

Exceptions to the Policy

In some cases, it may be necessary to explicitly check parameters. These exceptions to the policy are documented in the Java Card API specification. A Java Card API implementation must not perform parameter checking with the intent to avoid runtime exceptions, unless this is clearly specified by the Java Card API specification.

Note—If multiple erroneous input parameters exist, any one of several runtime exceptions will be thrown by the VM. The terms "Java Virtual Machine" and "JVM" mean a Virtual Machine for the Java platform. Java programmers rely on this behavior, but they do not rely on getting a specific exception. It is not necessary (nor is it reasonable or practical) to document the precise error handling for all possible combinations of equivalence classes of erroneous inputs. The value of this behavior is that the logic error in the calling program is detected and exposed via the runtime exception mechanism, rather than being masked by a normal return.

 


Java Card
v2.2.2

Copyright © 1993-2005 Sun Microsystems, Inc. 4150 Network Circle,
Santa Clara, CA, 95054, U.S.A. All Rights Reserved.