On Windows usualy all Applications use the Crypto API - a very high level and very generic framework. If Applications use this framework, no changes are needed to use certificates and keys not only from either files/registry but also from smart cards.
Such Applications can not use OpenSC directly. Instead they access the Crypto API on the upper side, and a Crypto Service Provider needs to register smart card resource on the lower side. That CSP can use OpenSC via the PKCS#11 API.
And of course you need the PC/SC Middleware and a driver for your smart card reader. PC/SC is already included in Windows NT, 2000, XP and later.
The whole picture with all layers is:
+------------------------------------+ | Application | +------------------------------------+ +============Crypto API==============+ | Middleware | +==Crypto Server Provider Interface===+ +------------------------------------+ | Crypto Service Provider | +--------------PKCS#11---------------+ | OpenSC-PKCS11.dll | +--------------PC/SC-----------------+ | PC/SC Middleware | +-------------Ifdhandler-------------+ | Smart card Reader Driver | +------------------------------------+
CSP#11 is an open source implementation of the Crypto Service Provider API. It works with any PKCS#11 module including the OpenSC-PKCS11.DLL included in OpenSC.
You can download CSP#11 at http://csp11.labs.libre-entreprise.org/.
Smart card bundle is our windows installer and it has a more detailed web page about CSP11.
Idendity Alliance also offers a CSP implementation in their ID Ally package. (free for personal use, 30 days use for evaluation.)
Smart card bundle is our windows installer and it has a more detailed web page about ID Ally.
PKCS CSP is a CSP to use PKCS#11 modules, I guess. The web site is in french, so I don't understand it. Assistence is very welcome!
http://www.ilex.fr/en/opensource/pkcscsp.htm
It looks like Microsoft will replace Crypto API with something new, but still support Crypto API. More information can be found in this presentation: http://216.55.183.63/pdc2005/slides/FUN210_Ben-Menahem_Tucker.ppt