Smart Card Minidrivers
Smart Card minidrivers are implemented according to the Windows Smart Card Minidriver Specification. The following specifications prescribe the version and related capabilities to which a minidriver will conform.
Smart Card Minidriver Specification, v7.07
Smart card vendors can write card minidrivers to present a consistent interface to their smart card type to the Microsoft Smart Card Base Cryptographic Service Provider (CSP) or Crypto Next Generation (CNG) Key Storage Provider (KSP) and to the Smart Card Management Interface. These card minidrivers plug in to Windows operating system code. The functionality in a card minidriver is narrowly scoped and carefully defined so that the card-dependent code is simple to implement and easy to verify functionally.
This specification provides implementation guidelines for Base CSP and KSP card minidrivers. This is the latest specification which applies to Windows 8 and later operating systems.
Document: Smart Card Minidriver Specification, v7.07
For information about our Security Development Lifecycle (SDL), see Microsoft Security Development Lifecycle (SDL) – Process Guidance.
For information about how to develop card minidrivers for Windows, see Smart Card Reader Devices Design Guide and Smart Card Minidrivers.
Smart Card Minidriver Specification, v7
Version 7 is an extension to version 6 of the Windows Smart Card Minidriver Specification. This version includes the following new information:
- Secure key injection.
- Support for RSA padding removal operations in the smart card.
- Overview of smart card Plug and Play.
- New CardCreateContainerEx API.
- New card container property for ECDSA/ECDH key association.
- Overview of the generic inbox minidriver that supports PIV.
This specification applies to Windows 7.
Document: Smart Card Minidriver Specification, v7
Smart Card Minidriver Specification, v6.02
Version 6 of the Windows Smart Card Minidriver Specification with the additional features it contains additional clarifications and corrections from the previous specification. This version includes the following information:
- Card-Specific Minidriver Details
- Manifest and General Imports
- Card Minidriver API Reference
- File System Requirements
- Card Requirements
- Developer Notes and Guidelines
New information included in this specification:
- Section 3.14: Clarify registry requirement.
- Section 3.2.3.1: Clarify supported padding algorithm.
- Section 4.2.2: Clarify CardAuthenticatePin behavior regarding EXTERNAL PIN and empty PIN.
- Section 4.2.8: Clarify CardDeAuthentcateEx behavior.
- Correct certain card property names so that they are consistent with cardmod.h.
- Section 7.3: Clarify the refcount behavior of session PIN.
This specification applies to Windows Vista.
Document: Smart Card Minidriver Specification, v6.02
Smart Card Minidriver Specification, v5.07
Version 5 of the Windows Smart Card Minidriver Specification. This version includes the following information:
- Requirements, Goals, and Change Synopsis
- Card-Specific Minidriver Details
- Functional Requirements
- Implementation Guidelines
- File System Requirements
- Sample Physical Data Layout on the Card
- Related Documents
This specification applies to Windows Vista, Windows Server 2003, and Windows XP.
Document: Smart Card Minidriver Specification, v5.07