Card Module is also called Smart Card Mini Driver


Card Module which has been talked about is also called Smart Card Mini Driver.  The specification for the same is now available for download at http://www.microsoft.com/whdc/device/input/smartcard/sc-minidriver.mspx 


If you have comments about the specification, please let us know.  If you have requirements or suggestions for API, then you will need to send us a detailed use case (scenario) and possibly some data on how important is this for your deployment.

Comments (12)

  1. midori says:

    Hi,

    The documentation still incomplete, but there are enough informations in the header file to start an implementation of a virtual/read-only file system mini driver.

    But there is some limit in current interface, especially on multiple applications design. Usually each application is protected by its own PIN (usually on dual application cards there is a PIN for simple authentication and another PIN for  legal usage digital signature)

    But current mini driver interface just define generic "user" and "admin" PINs, without even specifying the application name when CardAuthenticate*() is called.

    This forces me to pop up a message box from within to request a second PIN, but without ever knowing if the session was acquired for silent operations…

  2. shivaram says:

    Checkout the updated Card Mini Driver spec (http://www.microsoft.com/whdc/device/input/smartcard/sc-minidriver.mspx ) and see if it solves your problems.  We provide multi PIN support for each Key.  Note that multi-applications are not supported in our architecture.  We are supporting cryptographic capability.

  3. amit goel says:

    Hi All,

    I am trying to take a certificate (smart card logon certificate) via

    "Microsoft Base Smart Card Crypto Provider" by using the sc mini

    driver (CardModule). If the context is acquired by the "Microsoft Base

    Smart Card Crypto Provider" and some other application try to call

    SCardConnect, it gets blocked inside it. It neither returns error nor

    success. If i remove the token/smart card,  SCardConnect returns with

    an error.

    can any body explain the reason for this blocking?

    Regards,

    Amit Goel

  4. amit goel says:

    Hi All,

    I am trying to take a certificate (smart card logon certificate) via

    "Microsoft Base Smart Card Crypto Provider" by using the sc mini

    driver (CardModule). If the context is acquired by the "Microsoft Base

    Smart Card Crypto Provider" and some other application try to call

    SCardConnect, it gets blocked inside it. It neither returns error nor

    success. If i remove the token/smart card,  SCardConnect returns with

    an error.

    can any body explain the reason for this blocking?

    Regards,

    Amit Goel

  5. dive says:

    Hi,

    It is stated that Vista SP1:

    "Improves security in smart card scenarios:

    – Introduction of a new PIN channel to securely collect smart card PINs via a PC. This new capability mitigates a number of attacks that today would require using an external PIN reader to prevent.

    – Enables smart cards that use biometric authentication instead of a PIN.

    "

    I assume this relates to minidriver specification V6.x.

    Does anyone has an idea of when the final specification, the base CSP update (for XP, 2003), the cardmod.h file and the cmck test suite will be available?

    thanks,

    Stephane.

  6. kzanadeus says:

    Hi,

    i’m trying to do a mini driver for use the Base CSP. i’ve downloaded the documentation but i can’t find how to tell to the CSP to use my mini driver instead other thing.

    If someone has an idea or already did it please tell me.

  7. Ralph Seibert says:

    Is there an ‘actual’ minidriver sample code ANYWHERE?  I have searched and searched and have only found specifications, reference guides, and blogs…

  8. arzu says:

    Yeah…I also looking for the ‘actual’ minidriver sample code. If anyone know, please share… thanks  

  9. bahareh says:

    Hi

    Since vista provides Smart Card Base Cryptographic Service Provider

    (CSP) or Crypto Next Generation (CNP) Key Storage Provider (KSP),

    developers need to write only a smart card mini driver(smart card

    module) instead of a full fledged CSP.

    I was looking for some kind of a sample code for smart card module(smart card minidriver).

    I would be really thankful if somebody could help me with that.

    Thanks

  10. hello,

    how do I access S/C Base CSP from .NET framework? do I need to create my own wrapper around the CryptXXX functions?

    thank you very much.

  11. Egil says:

    Does it exist a list of the smartcards which support generation of session PINs?

  12. raghuvrce says:

    Hi kzanadeus,

    Could you finally figure out how to tell a CSP about the minidriver details ?

    I am also facing the same problem.

    I am using CNG KSP(SmartCard based) on Windows 7 to generate a key pair on a PIV card(Windows 7 has inbuilt support for PIV card, generic inbox minidriver)

    This operation always fails for me with a error pop up that says "A smart card was detected but is not the one required for the current operation. The smart card you are using may be missing required driver software or a required certificate. "

    Does anyone have any idea on this ? Please help.