This manual page is for Mac OS X version 10.6.3

If you are running a different version of Mac OS X, view the documentation locally:

  • In Terminal, using the man(1) command

Reading manual pages

Manual pages are intended as a quick reference for people who already understand a technology.

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

  • For more information about this technology, look for other documentation in the Apple Reference Library.

  • For general information about writing shell scripts, read Shell Scripting Primer.



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/ttyS_ (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 smartcard
       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)

Reporting Problems

The way to report a problem with this manual page depends on the type of problem:

Content errors
Report errors in the content of this documentation with the feedback links below.
Bug reports
Report bugs in the functionality of the described tool or API through Bug Reporter.
Formatting problems
Report formatting mistakes in the online version of these pages with the feedback links below.

Did this document help you? Yes It's good, but... Not helpful...