C H A P T E R   1

Introduction

The Java Card Platform, Version 3.0.1 consists of two editions, the Classic Edition and the Connected Edition.

This document applies to the Connected Edition. References to components, such as the Java Card runtime environment (RE), refer to the component as it exists in the Connected Edition.

The Java Card development kit ships in binary-only bundles or bundles with both binary and source versions of the kit. In addition, cryptography extensions are available in some bundles. This document pertains to both binary and source bundles, except where noted.

This chapter contains the following sections:


Platform Architecture

The Connected Edition contains a new architecture that enables developers to integrate smart cards within IP networks and web services architectures and features an enhanced runtime environment and virtual machine, with network-oriented features that support web applications. The Connected Edition supports both a web application model and an applet application model. The applet application model supports two types of applet applications - legacy applets and extended applets. Extended applets leverage the Connected Edition features while continuing to use the APDU communication model.

Java Card 3 platform, Connected Edition technology provides high-end smart cards with improved connectivity and integration into all-IP networks. A high-end, Java Card 3 technology-enabled smart card can act as a secure network node, capable of providing security services to the network or requesting access to network resources. It also allows for the convergence of smart-card services by handling multiple, concurrent communications through contact interfaces, using IP or ISO 7816-4 protocols, and through contactless interfaces, using the ISO 14443 protocol.

The high-level architecture of the Java Card 3 Platform, Connected Edition is illustrated in FIGURE 1-1. Notice the classic APIs in a Connected Edition are built on smart cards that implement a view of the strict, classic Java Card VM, which supports only classic applet applications. However, the Connected Edition Java Card VM also supports extended applets and servlets.

Figure 1-1 Architecture of Connected Edition

FIGURE 1-1 Architecture of Connected Edition

 
   

The development kit ships with a default Java Card RE that simulates a Java Card Platform, Connected Edition as it would be implemented onto a smart card. The default Java Card RE is the reference implementation (RI), and is invoked on the command line with cjcre.exe . The RI implements the ISO 7816-4:2005 specification, including support for up to twenty logical channels, as well as the extended APDU extensions as defined in ISO 7816-3. For more information on the RI, see Chapter 8.

The RI was designed to simulate a dual T=1 contacted and T=CL contactless concurrent interface implementation of the Java Card runtime environment, with the capability to operate on both interfaces simultaneously. The RI source code can be built and configured to support all the ISO 7816-3 and ISO 14443-4 smart card protocols, including T=0 single interface, T=1 single interface, T=CL single contactless interface and T=1/T=CL dual concurrent interface.


Development Kit Description

The Development Kit that enables creation of applications that utilize the Connected Edition new network-oriented features, such as support for web applications, including the Javatrademark Servlet APIs, as well as 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.



Note - In this release, you will be able to use the Development Kit to create applications for both Classic and Connected Editions.


The Development Kit bundles include a suite of tools, a reference implementation, and the associated documentation for developers to use when developing Java Card technology-based applications (Java Card 3 platform applications), servlets, and extended applets for the Connected Edition. Developers use the Development Kit to create applications that fully utilize the features of the Connected Edition.

Connected Edition Features

Developers using the Development Kit to create implementations and applications for the Connected Edition should be aware of the following features of the Connected Edition that represent key security and usability characteristics of Java Card technology-based smart cards and ensure the backward-compatibility and scalability of the platform:

Developers using the Development Kit to create applications for the Connected Edition should also be aware that the following features are exclusive to the Connected Edition:

Connected Edition Security Model

The Connected Edition security model includes the following components and features:

Application Models

The Connected Edition provides support for web applications, extended applets and legacy applet-based applications.

Web Applications

The Connected Edition provides support for typical web applications including servlets, filters, and listeners. The web application model is only available on implementations for the Connected Edition.

Extended Applets and Legacy Applet-Based Applications

For developers, the extended applet application model of the Connected Edition provides a migration path for legacy applet-based applications to the Connected Edition.

Development Kit Contents

The Development Kit is delivered in executable Java archive (JAR) files or bundles. Each bundle includes the binaries of a Java Card virtual machine, APDU tool, Compiler tool, Converter tool, Debugger tool, Installer tool, Normalizer tool, Packager tool, ROMizer tool, and sample applications for the Development Kit. In addition to the binaries, the source bundles also include the source files used to build the binaries.

Reference Implementation

The Connected Edition reference implementation is located in the bin directory with a program name of cjcre.exe . See Chapter 5 for detailed information about running the reference implementation from the command line.

Development KitDevelopment KitTools

Chapter 3 describes the sequence of development activities and the tool chain used in developing Java Card 3 applications.

The Development Kit bundle contains the following tools:

See Chapter 6 for information about using the Compiler tool.

See Chapter 7 for information about using the Packager tool.

See Chapter 8 for information about using the Installer tool as a stand-alone application.

See Chapter 10 for information about using the APDU tool.

See Chapter 9 for information about using the Normalizer tool.

See Chapter 9 for information about using the Converter tool.

See Chapter 11 for information about using the Debugger tool.

See Chapter 13 for detailed information about creating a ROM image file and building a custom cjcre.exe .

Samples

The Development Kit bundle contains various samples to give an overview of Java Card 3 platform applications. These samples are organized to provide sample applications that demonstrate the features of the Connected Edition and sample source code that developers can use in creating custom applications. See Chapter 4 for a description of the contents of the samples directories and a description of how to run them.


System Requirements

This release of the Development Kit executes on the Microsoft Windows XP SP2 operating system with an IDE of the developer’s choice.


Additional Software

The following additional software is required by the Development Kit. See Chapter 2 for download and installation information.



Note - MinGW is not required to run or to develop applications.



Java Card TCK

The Java Card Technology Compatibility Kit (Java Card TCK) is a portable, configurable automated test suite for verifying the compliance of a licensee’s implementation with the Java Card specification. To be in compliance, an implementation of the Java Card 3 platform, Connected Edition specification must pass the Java Card TCK 3.0.1 tests as described in Java Card Technology Compatibility Kit, Version 3.0.1 User’s Guide .