Smart Card
On a device that is based on Microsoft® Windows® CE .NET, the smart card subsystem provides a link between smart card reader hardware and applications that are smart-card-aware. This link consists of dynamic-link libraries (DLLs), the smart card resource manager application programming interface (API), and the smart card reader hardware device drivers. The smart card subsystem supports CryptoAPI and the Windows CE–based device driver model.
The Windows CE smart card subsystem consists of the following:
Smart Card Service Providers
Smart card service providers are base service providers (DLLs) that enable access to specific services. The service providers access specific capabilities of their target smart cards. They are aware of the services that are provided within specific smart cards and ease access to these services by applications. The service providers can build on the services of other providers to accomplish their tasks. Examples of service providers that can be invoked by other providers are the ISO 7816-4 File System and APDU providers.
Note that Windows CE does not include a service provider. Typically, the same vendor that supplied the target smart card supplies its provider.
Resource Manager
The resource manager uses a Microsoft Win32® API to manage access to multiple readers and smart cards. The resource manager coordinates application access to specific smart cards and provides the service providers with what appears to be a direct connection to the target smart card. In particular, it maintains security by preventing unauthorized access to smart cards or readers and by coordinating which cards are in which readers.
Specific Smart Card Reader Driver
The specific drivers map the conceptual driver services to the specific hardware reader device. There may be hierarchies of specific drivers, too, such as generic serial port drivers that communicate with specific port drivers. The specific reader driver must communicate any card-insertion and removal events to the smart card class driver for forwarding to the resource manager. The driver also must provide data-exchange capabilities to the card by using any or all of the raw, T=0, or T=1 protocols.
Smart Card Reader Helper Library
The smart card helper library provides common smart card driver support routines and provides additional T=0 and T=1 protocol support to specific drivers as needed.
For more information about smart cards, see the PC/SC Workgroup Web site.
The following table shows the modules that implement the smart card subsystem.
File | Description |
---|---|
Scard.dll | Smart card resource manager. |
Smclib.lib | Smart card reader helper library. |
Winscard.dll | Smart card resource manager helper library; this file is part of the Coredll.dll file. |
The following table shows several of the sample PC Card smart card readers that are included in this software development kit (SDK).
File | Description |
---|---|
Bulltlp3.dll | Serial reader driver |
Pscr.dll | SwapSmart PC Card reader driver |
Stcusb.dll | USB reader driver |
These sample readers and their source code are located in the %_WINCEROOT%\Public\Common\Oak\Drivers\Pscr directory.
See Also
Smart Card Concepts | Smart Card Resource Manager | Smart Card CSP | Smart Card Registry Settings
Last updated on Saturday, April 10, 2004
© 1992-2003 Microsoft Corporation. All rights reserved.