Share via


Smart Card CSP

The Windows CE smart card subsystem supports CryptoAPI through smart card cryptographic service providers (CSPs). These service providers are dynamic-link libraries (DLLs) that enable access to specific services. For more information on CSPs, see About Cryptographic Service Provider.

A sample Windows for smart card CSP application called scwcsp is available in %_WINCEROOT%\Public\Common\Sdk\Samples directory.

The Smart Card CSP consists of the following modules:

  • Scwcsp exports the CSP Functions that process the preliminary data from the smart card.
  • Scwapi maintains the file structures used by the smart card CSP.
  • Scwcspgui, a customizable user interface (UI), provides the methods for tasks such as initializing the card and entering the user's personal identification number (PIN). An OEM can customize the UI by writing a DLL that exports methods for certain card tasks.

The Windows CE implementation of the Windows for Smart Card CSP is designed to be compatible with the Windows for Smart Card CSP released for the desktop Windows. However, there is a limitation in the design of the desktop Windows for Smart Card CSP that prevents a smart card with a generated public key from being used on a different machine, unless the KP_CERT property is set on the key. This limitation stems from the fact that the desktop CSP saves the public key in the system registry and not on the smart card. Therefore, to use the key pair created by the desktop CSP on a different system, the corresponding certificate should first be generated and saved to the card; then, the Windows for Smart Card CSP can extract the public key from the certificate on the card.

The keys generated by the Windows CE implementation of the Windows for Smart Cards CSP on one Windows CE system can be used on a different Windows CE system. This is because the Windows CE CSP automatically saves a copy of the public key to the card in a recoverable form.

See Also

CSP Functions | Card Specific Properties | Smart Card

 Last updated on Saturday, April 10, 2004

© 1992-2003 Microsoft Corporation. All rights reserved.