Go to main content
1/161
Contents
List of Tables
Title and Copyright Information
Preface
Audience
Before You Read This Document
Documentation Accessibility
Related Documents
Documentation and Support
Third-Party Web Sites
Conventions
Part I Setup, Samples and Tools
1
Introduction
Java Card 3 Platform Architecture
Java Card TCK
2
Installation
Install and Setup the Development Kit
Before Installing the Development Kit
Installing the Development Kit
Confirming System Variables
Installed Files and Directories
Eclipse Java Card Plug-in
Installing the Eclipse Plug-in
Configuring Sample_Platform and Sample_Device
Uninstalling the Development Kit
3
Developing Classic Edition Applications
Classic Applet Development
Classic Development Kit Tools
Using the Classic Tools
4
Running the Samples
How to Run the Samples
Running the Samples in Eclipse
Running the Samples from the Command Line
Running the classic_applets Samples
HelloWorld Sample
Running the HelloWorld Sample in Eclipse
Running the HelloWorld Sample from the Command Line
Channels Sample
Running the Channels Sample in Eclipse
Running the Channels Sample from the Command Line
Service Sample
Running the Service Sample in Eclipse
Running the Service Sample from the Command Line
Utility Sample
Running the Utility Sample in Eclipse
Running the Utility Sample from the Command Line
Wallet Sample
Running the Wallet Sample in Eclipse
Running the Wallet Sample from the Command Line
ObjectDeletion Sample
Running the ObjectDeletion Sample in Eclipse
Running the ObjectDeletion Sample from the Command Line
PhotoCard Sample
Running the PhotoCard Sample in Eclipse
Running the PhotoCard Sample from the Command Line
RMIPurse Sample
Running the RMIPurse Sample in Eclipse
Running the RMIPurse Sample from the Command Line
StringHandlingApp Sample
Description of StringHandlingApp Applet
Description of StringUtilApp Applet
Command String Requirements
Response String Description
Examples of Process Method Handling of APDUs Containing a Command String
Description of StringHandlingLib and StringHandlingLibLocal Libraries
Running the StringHandlingApp Sample from Eclipse
Running the StringHandlingApp Sample from the Command Line
SecureRMIPurse Sample
Running the SecureRMIPurse Sample in Eclipse
Running the SecureRMIPurse Sample from the Command Line
SignatureMessageRecovery Sample
Message Recovery Order of Operations for Signing
Message Recovery Order of Operations for Verifying
Running the SignatureMessageRecovery Sample in Eclipse
Running the SignatureMessageRecovery Sample from the Command Line
Running the reference_apps Samples
Biometry Sample Application
SampleBioServer Class
SamplePasswdBioApplet Class
How the Biometric API Works
On-card Matching
Enrollment Process
Verification Process
Implementation Notes
Running the Biometry Sample in Eclipse
Run the Biometry Sample from the Command Line
JavaPurse Sample Application
Running the JavaPurse Sample in Eclipse
Running the JavaPurse Sample from the Command Line
JavaPurseCrypto Sample
Running the JavaPurseCrypto Sample in Eclipse
Running the JavaPurseCrypto Sample from the Command Line
Transit Sample
Running the Transit Sample in Eclipse
Running the Transit Sample from the Command Line
5
Converting and Exporting Java Class Files
Overview of Converting and Exporting Java Class Files
Setting Java Compiler Options
Running the Converter
Using Delimiters with Command Line Options
Using a Command Configuration File
File Naming for the Converter
Input File Naming Conventions
Output File Naming Conventions
Verification of Input and Output Files
Creating a debug.msk Output File
Using Export Files
Specifying an Export Map
Viewing an Export File as Text
6
Compatibility for Classic Applets
Generating Application Modules From Classic Applets
Running the Normalizer
normalize Subcommands
normalize Subcommand Options
normalize Subcommand Format
normalize Subcommand Example
copyright Subcommand
help Subcommand
Normalizer Summary Help
normalize Subcommand Help
7
Working With CAP Files
CAP File v2.2.2 Manifest File Syntax
Sample Manifest File
Generating a CAP File From a Java Card Assembly File
Running capgen
Producing a Text Representation of a CAP File
Running capdump
8
Debugging Applications
Debugger Architecture
Running the Debug Proxy from Eclipse
Debugging HelloWorld from Eclipse
Running the Debug Proxy from the Command Line
Debug Proxy Options
Debugging the HelloWorld Sample from the Command Line
9
Packaging and Deploying Your Application
Overview of Packaging and Deploying Applications
Installer Components and Data Flow
Running scriptgen
Sending and Receiving APDUs
Running apdutool
apdutool Examples
Directing Output to the Console
Directing Output to a File
Using APDU Script Files
APDUScript Preprocessor Commands
Setting Default Applets
On-Card Installer Applet AID
Downloading CAP Files and Creating Applets
Downloading the CAP File
Creating an Applet Instance
On-card Installer APDU Protocol
APDU Types
Select APDU Command
Response APDU Command
CAP Begin
CAP End
Component ## Begin
Component ## End
Component ## Data
Create Applet
Abort
APDU Responses to Installation Requests
A Sample APDU Script
Using the On-card Installer for Deletion
How to Send a Deletion Request
APDU Requests to Delete Packages and Applets
Delete Package
Delete Package and Applets
Delete Applets
APDU Responses to Deletion Requests
On-Card Installer Limits
10
Using the Reference Implementation
Overview of Using the Reference Implementation
Running the RI
Installer Mask
Obtaining Resource Consumption Statistics
Getting Resource Statistics With the PhotoCard Sample
RI Limits
Input and Output
Working With EEPROM Image Files
Input EEPROM Image File
Output EEPROM Image File
Same Input and Output EEPROM Image File
Different Input and Output EEPROM Image Files
11
Producing a Mask File from Java Card Assembly and CAP Files
Overview of Producing a Mask File from Java Card
Running maskgen
Order of Packages on the Command Line
Version Numbers for Processed Packages
maskgen Example
12
Building a Custom RI From Sources
Overview of Building a Custom RI from Sources
Steps for Building a Custom RI
Building the 32-Bit Custom RI
Testing the 32-Bit Custom RI
Building the 16-Bit Custom RI
13
Verifying CAP and Export Files
Overview of Verifying CAP and Export Files
Verifying CAP Files
Running verifycap
Verifying Export Files
Running verifyexp
Verifying Binary Compatibility
Running verifyrev
Command Line Options for Off-Card Verifier Tools
14
Using Cryptography Extensions
Overview of Using Cryptography Extensions
Supported Cryptography Classes
Instantiating the Classes
Part II Programming With the Development Kit
15
Localizing With The Development Kit
Overview of Localizing with the Development Kit
Localization Support for Java Utilities
Localizing a Java Program
Localization Support for cref
16
Programming to the Java Card RMI Client-Side API
Overview of Programming to the Java Card RMI Client Side
Remote Stub Object
Java Card RMI Client-Side API
Package rmiclientlib
Package clientlib
17
Working with APDU I/O
The APDU I/O API
APDU I/O Classes and Interfaces
Exceptions
Two-interface Card Simulation
APDU I/O API Examples
To Connect To a Simulator
To Power Up And Power Down the Card
To Exchange APDUs
To Print the APDU
18
Programming for the Large Address Space
Overview of Programming for the Large Address Space
Programming Large Applications and Libraries
Handling a Package as a Separate Code Space
Storing Large Amounts of Data
Example: The photocard Demo Applet
Part III Appendices
A
Java Card Assembly Syntax Example
B
Additional Optional Ant Tasks
Location and Installation
Installing the Ant Tasks
Setting Up the Optional Ant Tasks
Library Dependencies
Ant Task Descriptions
APDUTool
Errors
Examples
CapDump
Errors
Examples
Capgen
Errors
Examples
Converter
Parameters Specified As Nested Elements
Errors
Examples
DeployCap
Errors and Return Codes
Examples
Exp2Text
Errors
Examples
Maskgen
Parameters Specified As Nested Elements
Errors
Examples
Scriptgen
Errors
Examples
VerifyCap
Parameters Specified As Nested Elements
Errors
Examples
VerifyExp
Parameters Specified As Nested Elements
Errors
Examples
VerifyRev
Parameters Specified As Nested Elements
Errors
Examples
Custom Types
AppletNameAID
Example
JCAInputFile
Examples
ExportFiles
Examples
Glossary
Scripting on this page enhances content navigation, but does not change the content in any way.