Apple Developer Connection
Member Login Log In | Not a Member? Contact ADC

< Previous PageNext Page > Hide TOC

Smart Card Services

A smart card is a plastic card similar in size to a credit card that has memory and a microprocessor embedded in it and is therefore capable of both storing information and processing it. For security purposes, smart cards can store passwords, certificates, and keys. A smart card normally requires a personal identification number (PIN) or biometric measurement (such as a fingerprint) as an additional security measure. Because it contains a microprocessor, a smart card can carry out its own authentication evaluation offline before releasing information. Smart cards can exchange information with a personal computer through a smart card reader.

The PC/SC Workgroup (http://www.pcscworkgroup.com/) has established a standard for accessing cards and writing card reader drivers.

Apple provides a Smart Card Services software development kit (SDK), which contains source code that you can use to implement a PC/SC-compliant application or driver. The PC/SC framework, with header files, is included in Mac OS X at /System/Library/Frameworks/PCSC.framework. Apple’s smart card support is based on the Movement for the Use of Smart Cards in a Linux Environment (MUSCLE) Open Source implementation of the PC/SC standard. The MUSCLE homepage is http://www.linuxnet.com/index.html and the MUSCLE PC/SC Lite API Toolkit API Reference Documentation is available at http://pcsclite.alioth.debian.org/pcsc-lite/.

The ADC Security homepage at http://developer.apple.com/security/ includes a link to the sourcecode for Apple’s Smart Card Services project, which is at http://www.opensource.apple.com/darwinsource/Current/SmartCardServices. You must agree to the Apple Public Source License (APSL) before you can download the code. The code includes drivers and the pcscd command line tool, which launches a PC/SC smart card daemon. See the manual page for pcscd for more information on this daemon.

The preferred means to work with smart cards on Mac OS X v10.4 and later is by using Keychain Services. Tiger implements the Tokend interface that allows smart card developers to make their cards appear to be keychains. Tokend is not yet an official API, but it is supported by DTS. DTS has a sample Tokend project and related documentation available on request. Keychain Services is documented in Keychain Manager Reference and Keychain Services Programming Guide.



< Previous PageNext Page > Hide TOC


Last updated: 2008-02-08




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.
Get information on Apple products.
Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Copyright © 2007 Apple Inc.
All rights reserved. | Terms of use | Privacy Notice