Files
vsmartcard/ccid
2011-02-08 21:35:37 +00:00
..
2009-08-06 20:25:45 +00:00
2010-12-08 12:22:06 +00:00
2011-02-02 19:06:35 +00:00
2009-08-06 20:25:45 +00:00
2010-10-04 20:05:46 +00:00
2011-01-16 01:21:48 +00:00
2010-10-04 05:53:49 +00:00

/** @mainpage

Welcome to ccid-emulator.  The purpose of ccid-emulator is to forward a PCSC
smartcard reader as a standard USB CCID reader. If the host system is in USB
device mode, ccid-emulator forwards the local reader via USB to an other
device. If in USB host mode, ccid-emulator virtually plugges in a USB CCID
reader to the host system.  ccid-emulator has support for Password
Authenticated Connection Establishment (PACE) using OpenPACE
(http://sourceforge.net/projects/openpace/).

ccid-emulator is implemented using GadgetFS. Some fragments of the source code
is based on the GadgetFS example at http://www.linux-usb.org/gadget/ and on the
source code of the OpenSC tools.


@section i INSTALLATION

See file INSTALL.


@subsection g HINTS ON GADGETFS

To create an USB Gadget in both USB host and USB client mode, you need to load
the kernel module gadgetfs. A guide focused on Debian based systems to run and
compile gadgetfs, you can find here:
http://wiki.openmoko.org/wiki/Building_Gadget_USB_Module

On OpenMoko it is likely, that you need to patch your kernel (see
http://docs.openmoko.org/trac/ticket/2206). If you also want to switch multiple
times between gadgetfs and g_ether an other patch is needed (see
https://docs.openmoko.org/trac/ticket/2240).


@subsection o HINTS ON OPENSC

Without libnpa ccid-emulator links against libopensc, which is discouraged and
hindered since opensc>=0.12. We really need to get rid of this dependency. You
need the opensc components to be installed (especially libopensc.so). But you
might need to adjust the opensc library flags:
./configure \
    OPENSC_LIBS="-L/path/to/opensc/libdir -lopensc"


@section u USAGE

ccid-emulator has various command line options to customize the appearance on
the USB host. To run ccid-emulator GadgetFS must be loaded and mounted.
ccid-emulator is compatible with the unix driver libccid and the windows smart
card driver. To initialize PACE using the PC/SC API you need to patch libccid
and pcsc-lite (see directory patches).

cats-test can be used to test the PACE capabilities of a smart card reader with
PACE support (such as ccid-emulator or any other "Standardleser" CAT-S or
"Komfortleser" CAT-C) via PC/SC.


@section q QUESTIONS
For questions, please use http://sourceforge.net/projects/vsmartcard/support

@author Frank Morgner <morgner@informatik.hu-berlin.de>
*/