Runtime Environment Specification
for the Java CardTM Platform

Specification
2.2.1

October, 2003

 
Contents Previous Next Index

Contents


Contents

Preface

Who Should Use This Specification?

Before You Read This Specification

How This Specification Is Organized

Related Books

Typographic Conventions

Accessing Sun Documentation Online

Sun Welcomes Your Comments

1. Introduction

2. Lifetime of the Java Card Virtual Machine

3. Java Card Applet Lifetime

3.1 The Method install

3.2 The Method select

3.3 The Method process

3.4 The Method deselect

3.5 The Method uninstall

3.6 Power Loss and Reset

4. Logical Channels and Applet Selection

4.1 The Default Applets

4.2 Multiselectable Applets

4.3 Forwarding APDU Commands To a Logical Channel

4.4 Opening and Closing Logical Channels

4.4.1 MANAGE CHANNEL Command Processing

4.5 Applet Selection

4.5.1 Applet Selection with MANAGE CHANNEL OPEN

4.5.2 Applet Selection with SELECT FILE

4.6 Applet Deselection

4.6.1 MANAGE CHANNEL CLOSE Command

4.7 Other Command Processing

5. Transient Objects

5.1 Events That Clear Transient Objects

6. Applet Isolation and Object Sharing

6.1 Applet Firewall

6.1.1 Firewall Protection

6.1.2 Contexts and Context Switching

6.1.3 Object Ownership

6.1.4 Object Access

6.1.5 Transient Objects and Contexts

6.1.6 Static Fields and Methods

6.2 Object Access Across Contexts

6.2.1 Java Card RE Entry Point Objects

6.2.2 Global Arrays

6.2.3 Java Card RE Privileges

6.2.4 Shareable Interfaces

6.2.5 Determining the Previous Context

6.2.6 Shareable Interface Details

6.2.7 Obtaining Shareable Interface Objects

6.2.8 Class and Object Access Behavior

7. Transactions and Atomicity

7.1 Atomicity

7.2 Transactions

7.3 Transaction Duration

7.4 Nested Transactions

7.5 Tear or Reset Transaction Failure

7.6 Aborting a Transaction

7.6.1 Programmatic Abortion

7.6.2 Abortion by the Java Card RE

7.6.3 Cleanup Responsibilities of the Java Card RE

7.7 Transient Objects and Global Arrays

7.8 Commit Capacity

7.9 Context Switching

8. Remote Method Invocation Service

8.1 Java Card RMI

8.1.1 Remote Objects

8.2 The RMI Messages

8.2.1 Applet Selection

8.2.2 Method Invocation

8.3 Data Formats

8.3.1 Remote Object Identifier

8.3.2 Remote Object Reference Descriptor

8.3.3 Method Identifier

8.3.4 Parameter Encoding

8.3.5 Return Value Encoding

8.4 APDU Command Formats

8.4.1 SELECT FILE Command

8.4.2 INVOKE Command

8.5 The RMIService Class

8.5.1 setInvokeInstructionByte Method

8.5.2 processCommand Method

9. API Topics

9.1 Resource Use within the API

9.2 Exceptions thrown by API Classes

9.3 Transactions within the API

9.4 The APDU Class

9.4.1 T=0 Specifics for Outgoing Data Transfers

9.4.2 T=1 Specifics for Outgoing Data Transfers

9.4.3 T=1 Specifics for Incoming Data Transfers

9.5 The Security and Crypto Packages

9.6 JCSystem Class

10. Virtual Machine Topics

10.1 Resource Failures

10.2 Security Violations

11. Applet Installation and Deletion

11.1 The Installer

11.1.1 Installer Implementation

11.1.2 Installer AID

11.1.3 Installer APDUs

11.1.4 CAP File Versions

11.1.5 Installer Behavior

11.1.6 Installer Privileges

11.2 The Newly Installed Applet

11.2.1 Installation Parameters

11.3 The Applet Deletion Manager

11.3.1 Applet Deletion Manager Implementation

11.3.2 Applet Deletion Manager AID

11.3.3 Applet Deletion Manager APDUs

11.3.4 Applet Deletion Manager Behavior

11.3.5 Applet Deletion Manager Privileges

12. API Constants

Glossary

Index

 


Contents Previous Next Index