Smart Card CSP

A version of this page is also available for

Windows Embedded CE 6.0 R3

4/8/2010

The Windows Embedded 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.

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 Embedded CE implementation of the Windows for Smart Card CSP is designed to be compatible with the Windows for Smart Card CSP that is available 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 Embedded CE implementation of the Windows for Smart Cards CSP on one Windows Embedded CE system can be used on a different Windows Embedded CE system. This is because the Windows Embedded CE CSP automatically saves a copy of the public key to the card in a recoverable form.

See Also

Concepts

CSP Functions
Card Specific Properties

Other Resources

Smart Card Application Development
Smart Card