ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



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  crypto-graphic cryptographic
       graphic 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/SmartCardServices/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 bundle contains an XML file Info.plist which is parsed by pcscd.
       This  file  contains the vendor and product id of the device.  This information allows pcscd to auto-matically automatically
       matically 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.musclecard.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)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.