none
How to access smart card (usb token) without vendor card module (minidriver)?

    Question

  • Hi experts,

    I know smart card module is essentially a driver for a smart card. Unfortunately, OEM of my token didn't provide any vendor-specific card module (mini-driver). So my question is: how do I access the smart card (read/write) without card module and only rely on WinScard API?

    I plugged the usb token to my PC but the device manager didn't detect any new hardware being added to the system. If my windows xp doesn't even know this token exist, how could I write any program to access the token?

    Any help will be much appreciated!

    Z.Zen

    Thursday, May 27, 2010 7:06 AM

Answers

  • Hi Zen,

    You cannot interact or perform any operation on smart card if you dont have driver installed for that smart card token, so first of all you need to install the driver of the smart card token. If the smart card token is usb ccid compliant then windows provides a generic driver(usbccid.sys) so for these type of token driver installation is not needed.

    I think you are little confused with smart card minidriver and actual driver(extension "*.sys" the actual driver which sits on top of HAL and interacts with smart card hardware).

    "smart card minidriver or card module" is just a dll which is used by Microsoft Smart Card Base Cryptographic Service Provider.

    Smart Card module developed by smart card vendor internally uses winscard apis only to interact with smart card.

    So now if you have smart card driver(*.sys) installed you can use WinScard API to interact with smart card(Note: for winscard apis to work smart card service should be up and runnig, you can open windows services and check service namaed smart card should be running)

    Thanks,

    Sudhanshu

    • Marked as answer by Z.Zen Friday, May 28, 2010 9:43 AM
    Friday, May 28, 2010 3:16 AM

All replies

  • Hi Zen,

    You cannot interact or perform any operation on smart card if you dont have driver installed for that smart card token, so first of all you need to install the driver of the smart card token. If the smart card token is usb ccid compliant then windows provides a generic driver(usbccid.sys) so for these type of token driver installation is not needed.

    I think you are little confused with smart card minidriver and actual driver(extension "*.sys" the actual driver which sits on top of HAL and interacts with smart card hardware).

    "smart card minidriver or card module" is just a dll which is used by Microsoft Smart Card Base Cryptographic Service Provider.

    Smart Card module developed by smart card vendor internally uses winscard apis only to interact with smart card.

    So now if you have smart card driver(*.sys) installed you can use WinScard API to interact with smart card(Note: for winscard apis to work smart card service should be up and runnig, you can open windows services and check service namaed smart card should be running)

    Thanks,

    Sudhanshu

    • Marked as answer by Z.Zen Friday, May 28, 2010 9:43 AM
    Friday, May 28, 2010 3:16 AM
  • Thank you, Sudhanshu,

    It seems I really got the mini-driver and smart card hardware driver mixed up.

    The trouble is that the OEM of my usb token didn't provide the driver or anything else. In the beginning I assumed that the token is probably a usb CCID-compliant smart card. But later I found that a usb secuirty token is essentially a smart card reader and a smart card chip integrated together and it interacts with pc via usb port. (am I right on this part?) So I think I shouldn't need a usb ccid-compliant smart card reader right now. Probably the OEM did some protection stuff on the token to keep my windows xp from recognizing it.

    Again, thanks for the help!

    Z.Zen

    Friday, May 28, 2010 9:43 AM