OpenCard  
 
OCF, the OpenCard Framework is a standard Java framework for working with Smart Cards.  
 

Prerequisites for OpenCard Components

Checking Required Platform

This page is intended for developers that are not using the CardTable platform. If you want to use the OpenCard components you can either:

  • download and install the CardTable platform (soon to be released) that includes all necessary software to work with Smart Cards (including Java), or

  • download and install necessary software layers: see below.

 

Required Platform

Prerequisites

The CardServices components are a part of a Java framework named OpenCard Framework which goal is to provide high level components for applications that make use of smart cards.

In order to be able to use them, a number of other software packages have to be previously downloaded and installed. The next sections describe the architecture of an OpenCard-based application and explains how to set-up the mandatory software platform.

Architecture

First, we describe how a Java application can access smart cards through layers of software, the workstation Parallel/Serial ports (using the "Comm API"). Then, a section provides URLs for the necessary distributions, environment setting up information, and at last indications are given on how to perform some tests to check that everything is working ok (it is then advised to have a SIM card available, otherwise any ISO7816-3 compliant card will allow to at least run the OpenCard ATR printing test).

The Fig 1. picture below summarizes how a Java application (here "Login") can use a pure Java way to communicate with a smartcard.

We can distinguish the following software layers, starting from the application:

  1. the Application, (e.g., "Login.java")

  2. the OpenCard Framework,

  3. a CardService dedicated to the currently used smart card, (e.g., here GPK CardService),

  4. a pure-java CardTerminal driver, (e.g., the Gemplus CardTerminal for GemPC410, GemSelf500, GemSelf700...),

  5. the Comm API and its implementation on a given OS, and

  6. low-level serial/parallel I/O communications routines from the OS (Note: in Linux, the RXTX library is required).

    OpenCard Framework Architecture
    Fig 1: An OpenCard-based application.

    Note that non-pure Java CardTerminals can be used too, such as wrappers to the PC/SC resource manager (see the PC/SC page in the Gemplus Developers Technology section).

    As a consequence of this architecture, a number of software packages are required. The list is detailed below.

    Required platform

    Necessary components are:

    1. A JRE (i.e., Java Runtime Environment) or JDK (i.e., Java Development Kit) for your platform (version 1.2 or 1.3 is advised):

    2. A Comm API implementation (Serial and Parallel communication API for the JDK):

    3. finally, the Opencard Framework core and optional parts that can be easily downloaded and installed from the official Opencard Web Site.

    4. You may also find ready-to-use drivers for your cards (or applets) and card readers. There is a list of Supported Readers/Terminals at the Opencard Web Site which is maintained by the OpenCard Consortium. Please contact the consortium whenever you find a driver that is not on the list, or an URL that must be fixed.


    Please post any comments, suggestions, problem reports, or enhancements for this page to the Gemplus Developer's Site Forum (in the topic named "OCF"), or send an email to the Developer's Webmaster who will dispatch your comment to the right person.