Files
vsmartcard/ccid/README
2010-05-08 07:19:52 +00:00

70 lines
2.3 KiB
Plaintext

Title : ccid
Authors : Frank Morgner
Version : 1.0.0 27 Jul 2009
License : See file COPYING
Tested Platforms : Linux 2.6 (Debian, Ubuntu, Om 2008)
Welcome to ccid. The purpose of ccid is to forward a PCSC smartcard reader
as a standard USB CCID reader. If the host system is in USB device mode, ccid
forwards the local reader via USB to an other device. If in USB host mode,
ccid virtually plugges in a USB CCID reader to the host system.
ccid 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.
pace-tool has support for Password Authenticated Connection Establishment
(PACE) using OpenPACE (see http://sourceforge.net/projects/openpace/).
pace-tool can be used for PIN management or to encrypt APDUs inside a secure
messaging channel established with PACE. PACE is experimental and disabled by
default.
INSTALLATION
------------
See file INSTALL.
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).
If you only use pace-tool for testing your card, you don't need gadgetfs.
HINTS ON OPENSC
-----------------
If ccid runs into a checking error, because the Le field of the APDU is 0 (as
set for the General Authenticate APDU during PACE), you need to patch libopensc
(see http://www.opensc-project.org/opensc/ticket/209)
USAGE
-----
When testing PACE with either PIN, CAN, MRZ or PUK run pace-tool. Here you can
enter APDUs which are to be converted according to the secure messaging
parameter and to be sent to the card. Herefor insert the APDU in hex with a
colon to separate the bytes or without it. So to read the current selected file
both of these forms would be valid:
00:b0:02:00:00
00B0020000
QUESTIONS
---------
For questions, please email me at:
Frank Morgner <morgner@informatik.hu-berlin.de>