Files
vsmartcard/ccid/README.dox
2011-09-02 19:29:10 +00:00

66 lines
2.5 KiB
Plaintext

/** @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>
*/