PCSCTEST(8) User Manual PCSCTEST(8)NAME
pcsctest
SYNOPSIS
pcsctest
DESCRPTION
pcsctest runs a test on pcscd, lists the readers currently connected, and displays card information if a card is inserted.
OPTIONS
None
USAGE
pcsctest lists the currently connected readers and asks the user to choose one. After choosing the reader, pcsctest will ask the user to
insert a card into the card reader. If this happens pcsctest will display the cards's ATR and other information.
Example:
The following will occur if no reader is inserted and recognized:
MUSCLE PC/SC Lite Test Program
Testing SCardEstablishContext : Command successful.
Testing SCardGetStatusChange
Once a reader is inserted and recognized the following will occur:
MUSCLE PC/SC Lite Test Program
Testing SCardEstablishContext : Command successful.
Testing SCardGetStatusChange
Please insert a working reader : Command successful.
Testing SCardListReaders : Command successful.
Reader 01: SCM SCR-331 CCID 0 0
Enter the reader number : 1
Waiting for card insertion
: Command successful.
Testing SCardConnect : Command successful.
Testing SCardStatus : Command successful.
Current Reader Name : CCID USB Reader 0 0
Current Reader State : 34
Current Reader Protocol : 0
Current Reader ATR Size : 9
Current Reader ATR Value : 3B E2 00 00 04 03 00
Testing SCardDisconnect : Command successful.
Testing SCardReleaseContext : Command successful.
PC/SC Test Completed Successfully !
SEE ALSO pcscd(8)BUGS MacOSX March 2003 PCSCTEST(8)
Check Out this Related Man Page
PCSCD(8) User Manual PCSCD(8)NAME
pcscd - PC/SC Smartcard Daemon
SYNOPSIS
pcscd [options]
OPTIONS -a, --apdu
log APDUs and SW using the debug method (see -d)
-c, --config file
Specifies the file file as an alternate location for reader.conf
-d, --debug OUTPUT
display debug messages.
OUTPUT may be:
stdout (imply -f),
stderr (imply -f),
or syslog
-f, --foreground
Runs pcscd in the foreground (no daemon)
-h, --help
Displays information about the pcscd command line
-v, --version
Displays the program version number
DESCRIPTION
pcscd is the daemon program for pcsc-lite and musclecard framework. It is a resource manager that coordinates communications with smart-
card readers and smart cards and cryptographic tokens that are connected to the system.
pcscd is normally started at boot time from /System/Library/StartupItems/SmartCardServices. It allows applications to access smart cards
and readers without knowing details of the card or reader.
pcscd coordinates the loading of drivers for card readers and plug-ins for different card types.
The purpose of pcsc-lite is to provide both a cross compatible API for migrating Windows based PCSC applications to Unix and to provide a
pluggable architecture for supporting smartcards and cryptographic tokens through high level API's.
At startup, pcscd loads the smart card reader drivers specified in the /etc/reader.conf file (or specified using -c file).
When a smart card is inserted into a reader, pcscd uses the ATR string from the card to identify this card. The /usr/libexec/SmartCardSer-
vices/services directory contains plug-ins for the card. These plug-ins are searched. If the ATR string matches, the client library loads
that plug-in for that token.
USB SMART CARD READER DRIVERS
USB Smart card reader drivers are placed in the /usr/libexec/SmartCardServices/drivers directory. Each driver is simply a bundle. The bun-
dle contains an XML file Info.plist which is parsed by pcscd. This file contains the vendor and product id of the device. This informa-
tion allows pcscd to automatically determine when a reader is inserted or removed.
SERIAL SMART CARD READER DRIVERS
Serial Smart card reader drivers are placed in the /usr/libexec/SmartCardServices/drivers directory. Each driver is simply a shared object
file. The pcscd locates serial drivers with the /etc/reader.conf file. The file has the following format:
# comment
FRIENDLYNAME <Descriptive name>
DEVICENAME <Short name>
LIBPATH <Location of the driver library>
CHANNELID <Hexadecimal channel identificator>
FRIENDLYNAME
is a user-friendly name of the reader that is served by this driver. This name is displayed to the user when necessary.
DEVICENAME
is a driver specific value. If you do not know this value, GEN_SMART_RDR is a good choice.
LIBPATH
is the full path to the shared library.
CHANNELID
is the channel ID for serial-port, smart-card readers. This could vary depending on the driver in which you are using - check the
driver README for more information. Some use the following:
/dev/ttyS0 (COM1) -> 0x0103F8 or 1
/dev/ttyS1 (COM2) -> 0x0102F8 or 2
/dev/ttyS2 (COM3) -> 0x0103E8 or 3
/dev/ttyS3 (COM4) -> 0x0102E8 or 4
Example:
# Configuration file for pcsc-lite
FRIENDLYNAME "My Smartcard Reader"
DEVICENAME GEN_SMART_RDR
LIBPATH /usr/libexec/SmartCardServices/drivers/my_reader.so
CHANNELID 0x0103F8
# End of file
Multiple drivers can be listed in /etc/reader.conf.
Drivers are available at http://www.musclecard.com/drivers.html.
SMART CARD PLUG-INS
pcsc-lite uses plug-ins to handle different types of smart cards. There is a plug-in for each smart-card type. Plug-ins are installed in
the /usr/libexec/SmartCardServices/services directory. Plug-ins for cards/tokens are available from the MUSCLE web site http://www.muscle-
card.com.
FILES
/etc/reader.conf : Reader configuration file
/System/Library/StartupItems/SmartCardServices : pcscd startup script
/var/run/pcscd.pid : process id of the running pcscd
/usr/libexec/SmartCardServices/drivers/ : directory containing bundles for USB drivers"
BUGS
None known.
SEE ALSO pcsctool(1),
AUTHORS
David Corcoran <corcoran@identityalliance.com> and Ludovic Rousseau <ludovic.rousseau@free.fr>
Linux March 2002 PCSCD(8)