forked from sqf-ice/PCSC
-
Notifications
You must be signed in to change notification settings - Fork 0
pcsc-lite: PC/SC implementation
License
zzfd97/PCSC
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Title : PCSC Lite Authors : David Corcoran, Ludovic Rousseau Version : 1.2.9-beta10 License : See file COPYING Document: docs/pcsc-lite.pdf docs/ifdhandler-3.pdf Requires: A C compiler Make, linker tools Lex (Lexical Analyzer). Tested Platforms: Linux 2.4 (Redhat 7.1, Suse 7.1/7.2, Debian 3.0) Mac OS X 10.2, 10.3 FreeBSD, NetBSD, OpenBSD Solaris 8 / 9 Tru64 UNIX 5.1B AIX 4.3, 5.2 HP-UX 11 Welcome to PCSC Lite. The purpose of PCSC Lite is to provide a Windows(R) SCard interface in a very small form factor for communicating to smart cards and readers. PCSC Lite can be compiled directly to a desired reader driver or can be used to dynamically allocate/deallocate reader drivers at runtime (default). PCSC Lite uses the same winscard API as used under Windows(R). For security aware persons please read the SECURITY file on possible vulnerabilites to pcsclite, how you can fix some, and how some will be fixed. For information on how to install driver please read the DRIVERS file. Memory cards are supported through MCT specifications which is an APDU like manner sent normally through the SCardTransmit() function. This functionality is done in the driver. INSTALLATION: Installation is simple. Type ./configure and then make and make install. Options: ./configure --enable-libusb Enable USB libusb support (on Linux, *BSD, etc.). --enable-usbdropdir=DIR directory containing USB drivers (default /usr/local/pcsc/drivers) --disable-musclecarddebug Disable MuscleCard debugging messages --enable-debugatr Enable ATR parsing debug output --enable-scf use SCF for reader support --prefix=location Install to <location> --enable-confdir=DIR Use DIR as the configuration directory (/etc by default) --enable-runpid=FILE Store the daemon pid in file FILE --enable-ipcdir=DIR directory containing IPC files (default /var/run) By running pcscd under a priveledged account you can link to libpcsclite.so and it will act as a client to the pcscd allowing multiple applications to be run under non-priveledged accounts. Then type make install to copy etc/reader.conf to /etc/reader.conf and the libraries to /usr/local/lib. If you choose not to have your reader.conf in /etc then use --enable-confdir=DIR You must be root to do make install in the default locations. Be sure to edit the /etc/reader.conf file to fit your needs and make sure your IFD Handler driver is located in the path specified as LIBRARYPATH in reader.conf. If you are using a reader with multiple smart card slots all you have to do is define a different FRIENDLYNAME in the reader.conf for each reader. Both will have the same information otherwise. There is an config file generator in the utils directory. It is called installifd. You may use this to generate the /etc/reader.conf file. USB users shall not use /etc/reader.conf. pcscd will give a warning that the file does not exist or contain anything useful. There is a test program with this package: testpcsc: Linked to libpcsclite. Must run /usr/local/pcsc/bin/pcscd and then ./testpcsc. pcscd must be run as root or a hardware priveledged user. ./testpcsc can be run under any account. LIBUSB SUPPORT: Versions after 1.2.0 support libusb. Available on GNU/Linux and *BSD. If you do not have libusb (or do not want to use it) on your system you should use --disable-libusb. If you use --disable-libusb under Linux the old USB code will be used instead. In order to use dynamic driver loading, you need to supply a directory called "XXXX.bundle" in the usb dropdir directory (--enable-usbdropdir=PATH). Here, the string "XXXX" stands for an arbitrary driver name, like in "ifd-GemPC430.bundle". An example .bundle-directory can be found in the source distribution of the ifd-gempc driver (https://ludovic.rousseau.free.fr/softwares/ifd-GemPC/) SOLARIS: Solaris PC/SC applications must link with -lsocket since the libraries are not statically linked. QUESTIONS: The API documentation is provided in PDF format under the docs directory. For questions, please email me at: <David Corcoran> [email protected] On some plateforms (GNU/Linux on mips and mipsel, FreeBSD and possibly other *BSD suystems) you must use: $ ./configure LDFLAGS="-lpthread"
About
pcsc-lite: PC/SC implementation
Resources
License
Security policy
Stars
Watchers
Forks
Packages 0
No packages published
Languages
- C 76.1%
- Python 16.2%
- M4 3.2%
- Lex 1.8%
- C++ 1.3%
- Makefile 0.6%
- Other 0.8%