Project

General

Profile

Project-Structure » History » Revision 4

Revision 3 (Tobias Wich, 09/14/2012 05:40 PM) → Revision 4/17 (Tobias Wich, 09/17/2012 05:03 PM)

h1. Project-Structure 

 The overall project structure has been derived from the high level design of the Open eCard App (see [["Sicherheit 2012 submission":https://redmine.vserver-001.urospace.de/attachments/14/Open-eCard-App-2011-12-05.pdf]]) and is depicted in the following figure: 

 !Open-eCard-App-Design_690.6x476.4.png! 

 h2. wsdef 

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

 * class-list-plugin  
 * wsdef-client 

 h2. common  

 Contains common utilities and helper classes. 

 h2. crypto 

 Contains basic crypto modules. 

 * bouncy-android 

 h2. saml 

 Contains the functionality for [["SAML-ECP":http://www.oasis-open.org/committees/download.php/41209/sstc-saml-ecp-v2.0-wd02.pdf]]. 

 h2. esign 

 Contains signature-related functionality. 

 h2. transport 

 Contains modules related to the transport of messages. 

 * dispatcher 
 * paos 
 * [[TLS-Design|tls]] 

 h2. gui 

 Contains user interfaces for the different platforms. 

 * gui-common  
 * swing 
 * android 

 h2. 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-Module-Structure_656x280.png! 

 * ifd-common 

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

 * scio-backend 
 Provides an implementation of [["javax.smartcardio":http://docs.oracle.com/javase/6/docs/jre/api/security/smartcardio/spec/javax/smartcardio/package-summary.html]] for different platforms. 

  * oma 
 Maps [["javax.smartcardio":http://docs.oracle.com/javase/6/docs/jre/api/security/smartcardio/spec/javax/smartcardio/package-summary.html]] to the [["Transport API within the Open Mobile API":http://www.simalliance.org/en?t=/documentManager/sfdoc.file.supply&e=UTF-8&i=1185787014303&l=0&fileID=1322061907922]]. 

  * android-nfc 
 Maps [["javax.smartcardio":http://docs.oracle.com/javase/6/docs/jre/api/security/smartcardio/spec/javax/smartcardio/package-summary.html]] to [["android.nfc":http://developer.android.com/reference/android/nfc/package-summary.html]]. 

  * pcsc  
 Is necessary to embed the java default implementation of the SmartcardIO into the scio-backend context. 

 * ifd-core 
 Implements the IFD-API including the mapping to [["javax.smartcardio":http://docs.oracle.com/javase/6/docs/jre/api/security/smartcardio/spec/javax/smartcardio/package-summary.html]] 
  
 h2. sal 

 Contains the service access layer (SAL) components. 

 * sal-lite  
 * protocols 

  * eac 
  * crypto-lite 

 h2. recognition 

 Features CardInfo-based card type recognition. 

 h2. event-manager 

 Provides an easy to use interface for ifd-related events.  

 h2. browser 

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

 * object-handler 
 * pkcs11 

 !TLS-module-structure_667x404.5.png! 


 * tls-channel-binding 

 h2. control-interface 

 * [[Control_Interface#Activation|TCToken]] 
 * [[Control_Interface#GetStatus1|Status]] 

 h2. client  

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

 * applet 
 * android 
 * j2me