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.
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.
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.
The Card Recognition module uses the abstract XML descriptions of the CardInfo module to provide functionality to the system.
Contains sub modules which implement a client for a specific platform. Currently there are the following two client available:
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.
A client version for the Android operating system which is primary located on smart phones and tablet pcs.
The Open eCard App requires currently Java 7 if it is available this little tool will warn the user.
This package contains all available Binding implementations which are listed below.
Contains the implementation of the HTTP Binding which is used to offer HTTP Services to the external world.
This module contains the Bouncy Castle code.
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.
Contains TLS client implementations used to communicate with remote parties. The clients are implemented according to the guideline that are related to TLS cryptography.
The Event Manager module is
Swing implementation of the About dialog.
Graphic utilities to retrieve the Open eCard logo in different sizes and different backgrounds.
Provides the abstract definition of the GUI elements which are implemented by the specific platforms. Their are also executors for GUI steps.
Contains the Swing implementation of the abstract GUI definitions of the GUI common package.
Contains the Android specific GUI.
Contains common interfaces and classes for an IFD implementation.
Implementation of the PACE protocol as IFD protocol.
SmartcardIO stuff specific for OS X
This sub module contains the implementations of the interfaces specified in IFD common for PC/SC.
Contains an implementation of the interfaces specified in the IFD common module which is able to interact with the NFC interface of modern smart phones.
Provides the general functionality of the IFD.
Currently this contains the code for a PIN Management which is only capable to handle the German eID card.
Implementation of the Genric Cryptography Protocol according to BSI-TR03112-7 (Not complete)
Provides the classes for a TCToken based activation of the eID client. This mechanism supports the German eID card and cards used for an TLS authentication.
Implementation of an Add-on which provides status information about the eID client.
Provides several classes for the handling of APDUs for smart cards. It is easier to use them instead of using the plain hex codes. Furthermore there are utility classes for different purposes.
Module containing the translations of the Open eCard App.
Contains ab Open eCard implementation of a Marshaller
Contains web service definitions (.xsd, .wsdl).
Provides some utility classes and exception definitions.
Implementation of the Service access layer providing functions according to BSI-TR03112 part 4 and 7.
Implementation of the Dispatcher which is responsible for the message passing between the components.