Project

General

Profile

Actions

Project-Structure » History » Revision 15

« Previous | Revision 15/17 (diff) | Next »
Hans-Martin Haase, 08/21/2015 12:05 PM


Modules

The following modules are derived from the high level project structure. Information about the architecture, data structures and other things can be found in the respective links.

Add-on Framework

Contains the implementation of the Add-on Framework. This includes the mapping of the abstract XML description into Java data structure, interface specifications and classes for the management of the add-ons.

CardInfo files

Here you'll find all CardInfo files of the eID client which are used to recognize cards. Furthermore there are images of the specific card and a static recognition tree which is executed when a new card is inserted.

Card Recognition

The Card Recognition module uses the abstract XML descriptions of the CardInfo module to provide functionality to the system.

Client Implementations

Contains sub modules which implement a client for a specific platform. Currently there are the following two client available:

Rich Client

Contains the code for the Rich client application based on the Swing implementation of the GUI. The main target of this client version are desktop pcs and laptop.

Android Client

A client version for the Android operating system which is primary located on smart phones and tablet pcs.

Open eCard Java Version Checker

The Open eCard App requires currently Java 7 if it is available this little tool will warn the user.

Control Interface Bindings

This package contains all available Binding implementations which are listed below.

HTTP Binding

Contains the implementation of the HTTP Binding which is used to offer HTTP Services to the external world.

Crypto packages

Open eCard Bouncy Castle

This module contains the Bouncy Castle code.

Crypto common

Contains common cryptography classes for e.g. ASN1 objects used in the EAC process. Furthermore there are utility classes for easier access to DID's and their features.

Open eCard TLS

Contains TLS client implementations used to communicate with remote parties. The clients are implemented according to the guideline that are related to TLS cryptography.

Event Manager

The Event Manager module is

h2 GUI implementations

About Dialog

Graphics

Swing GUI

Android GUI

IFD implementationes

IFD common

IFD Protocols -> PACE

SmartcardIO implementations -> PC/SC for OS X

SmartcardIO implementations -> PCSC SmartcardIO

SmartcardIO implementations -> NFC SmartcardIO

IFD core

Integrated Add-ons

PIN Management Add-on

Generic cryptography protocol

TR-03112 Add-on

Status

Management

Open eCard Common Libs

Open eCard I18n

Open eCard Webservice Definitions

class-list Plugin

Open eCard WS common

Open eCardd WS classes

JAXB Marshaller

Android Marshaller

SAL

SAL common

TinySAL

Transport

Dispatcher

Apache shadded HTTP core

Open eCard HTTP core

wsdef

Contains web service definitions (.xsd, .wsdl) and related utilities.

class-list-plugin

wsdef-client

common

Contains common utilities and helper classes.

crypto

Contains basic crypto modules.

bouncycastle

Relocated bouncycastle classes (moved from org.bouncycastle to org.openecard.bouncycastle) with some patches regarding TLS-PSK.

crypto-common

Other crypto related code. E.g. ASN.1 classes for EAC and CVC.

saml

Contains the functionality for [[SAML-ECP]].

esign

Contains signature-related functionality.

transport

Contains modules related to the transport of messages.

dispatcher

paos

tls

The TLS design can be found here.

gui

Contains user interfaces (User Consent) for the different platforms.

gui-common

Data structure definitions and common GUI execution code.

swing

Swing based User Consent implementation.

android

Android UI based User Consent implementation.

ifd

Contains the interface device (IFD) components for the different platforms. The following figure provides an overview of the relationship between the different ifd modules:

ifd-common

Code and data structures common to core and protocol modules.

protocols

Contains IFD-related trusted channel protocols, which can be used with EstablishChannel. Currently the following protocols are supported:

  • pace
    Password Authenticated Connection Establishment [[PACE]]

scio-backend

Provides an implementation of [[javax.smartcardio]] for different platforms.

ifd-core

Implements the IFD-API including the mapping to [[javax.smartcardio]].

sal

Contains the service access layer (SAL) components.

sal-common

  • State management
    More information can be found here.

protocols

  • eac
  • crypto-lite
  • Generic Cryptography
  • PinCompare

More information can be found here.

tiny-sal

recognition

Features CardInfo-based card type recognition. This module also bundles CardInfo files for the recognisable cards.

event-manager

Provides an easy to use interface for IFD related events.

browser

Contains components for the integration of the Open eCard App into popular browsers.

object-handler

pkcs11

tls-channel-binding

control-interface

This module is used to activate the client and authenticate against a server.
The eCard-API Framework part 7 defines the TCToken-Interface to trigger the activation.
More sophisticated activation scenarios need the possibility to request information about the App and available token. The Status-Interface extends the TCToken-Interface respectively.

client

Contains modules for the different forms of the Open eCard App.

applet

richclient

android

Updated by Hans-Martin Haase over 8 years ago · 15 revisions

Also available in: PDF HTML TXT