Files
vsmartcard/ccid
frankmorgner 84d609ea51 - new pin was not included in apdu for pin modification (fixed)
- added support for modification/verification apdus from the host that don't contain any data. the reader automatically allocates the correct number of bytes for the pin(s) and modifies apdu's case and lc.


git-svn-id: https://vsmartcard.svn.sourceforge.net/svnroot/vsmartcard@521 96b47cad-a561-4643-ad3b-153ac7d7599c
2011-09-02 22:14:38 +00:00
..
2009-08-06 20:25:45 +00:00
2011-02-08 21:50:23 +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 another
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
are 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, another patch is needed (see
https://docs.openmoko.org/trac/ticket/2240).

If you are using a more recent version of dummy_hcd, you maybe want to check
out this patch:
http://comments.gmane.org/gmane.linux.usb.general/47440


@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. In order 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>
*/