Java Cardtrademark technology combines a subset of the Javatrademark programming language with a runtime environment optimized for smart cards and similar small-memory embedded devices. The goal of Java Card technology is to bring many of the benefits of Java programming language to the resource-constrained world of smart cards.

The Java Card API is compatible with international standards such as ISO 7816, and industry-specific standards such as Europay, Master Card, and Visa (EMV).

The development kit for the Java Card Platform contains software and several books delivered in several bundles. The release notes for the development kit explains the various bundles and their contents in detail.

The binary development kit contains a software bundle that includes the binaries, and a documentation bundle that includes two books for using the binaries:

The specifications bundle included with the binary development kit contains all the Java Card specifications, Application Programming Interface for the Java Card Platform, Version 2.2.2, Runtime Environment Specification for the Java Card Platform, Version 2.2.2, and Virtual Machine Specification for the Java Card Platform, Version 2.2.2. You can also download the identical Java Card specifications bundle separately from the Sun Microsystems web site at

The Ant tasks bundle in the binary development kit and is required to install and run the development kit. However, the Ant tasks are unsupported for use outside the development kit.

Who Should Use This Book

The Development Kit User's Guide is written for developers who are creating applets using the Application Programming Interface for the Java Card Platform, Version 2.2.2, and also for developers who are considering creating a vendor-specific framework based on the Java Card specifications.

Before You Read This Book

Before reading this guide, become familiar with the Java programming language, object-oriented design, the Java Card specifications, and smart card technology. A good resource for becoming familiar with Java and Java Card technology is the Sun Microsystems, Inc. web site located at

How This Book Is Organized

Chapter 1 provides an overview of the development kit and its tools.

Chapter 2 describes the procedures for installing the tools included in this release.

Chapter 3 describes sample applets that illustrate the use of the Java Card API. It also describes demonstration programs that illustrate very important scenarios of applet masking and post-manufacture installation.

Chapter 4 provides an overview of the Java Card technology-based Workstation Development Environment (Java Card WDE) and how to run it.

Chapter 5 provides an overview of the Converter and how to run it.

Chapter 6 describes how to use the exp2text tool to view any export file in ASCII format.

Chapter 7 provides an overview of the off-card verifier tool and details of running it.

Chapter 8 describes how to use the capgen utility.

Chapter 9 describes how to use the capdump utility.

Chapter 10 describes how to use the C-language runtime environment simulator for the Java Card platform (Java Card runtime environment or Java Card RE).

Chapter 11 describes how to download and delete packages, and create and delete applet instances using the installer.

Chapter 12 describes how to use apdutool to transfer APDUs to and from the C-language Java Card Runtime Environment or Java Card Workstation Development Environment (Java Card WDE).

Chapter 13 describes the cryptography APIs optionally provided with this release.

Chapter 14 describes the reference implementation of the client-side Java Card Remote Method Invocation API (client-side Java Card RMI API).

Appendix A describes the Java Card platform assembly output of the Converter using a commented example file.

Appendix B describes the syntax of the manifest file which the Converter includes in the CAP file.

Appendix C describes how your applications can get the most out of a large address space implementation.

Related Books

References to various documents or products are made in this manual. Have the following documents available:

Typographic Conventions

The following table lists the typographic conventions used in this book.


TABLE P-1 Typographic Convention Typefaces





The names of commands, files, and directories; on-screen computer output

Edit your .login file.

Use ls -a to list all files.

% You have mail.


What you type, when contrasted with on-screen computer output

% su

Password: root


Book titles, new words or terms, words to be emphasized

Command-line variable to be replaced with a real name or value

Read Chapter 6 in the User's Guide.

These are called class options.

You must be superuser to do this.

To delete a file, type rm filename.

Accessing Sun Documentation Online

Access Java platform technical documentation on the web at the Java Developer Connectiontrademark program web site at

Sun Welcomes Your Comments

We are interested in improving our documentation and welcome your comments and suggestions. Email your comments to us at