Hi Timothy,

top half:

Only OpenSSH and the opensc tools uses the opensc native interface.

Applications such as firefox, thunderbird and friends use opensc-pkcs11.so / 
PKCS#11 interface (which again uses the internal interfaces).

pam_p11 module uses libp11 library to use opensc-pkcs11.so / PKCS#11 
interface.

openssl command line tool uses engine_pkcs11.so, which uses libp11, which uses 
opensc-pkcs11.so / PKCS#11 interface.

CSP such as ID-Ally (or CSp#11 or PKCSCSP) use the opensc-pkcs11.so / PKCS#11 
interface.

buttom half:

opensc can use a CT-API driver directly.

opensc can use openct to access one or several readers supported by opensc.

opensc can use pcsc interface to talk to pcsc-lite, which uses one or several 
ifdhandler drivers, such as the very good libccid driver, to access one or 
several readers supported by those drivers.

openct has a ctapi "headd" so opensc could use openct via the openct ctapi 
driver. but noone does that I think (was coded for applications that only 
know ct-api drivers, so they can use openct).

openct has a ifdhandler "head" so opensc could use openct via pcsc-lite and 
the openct ifdhandler. but noone does that I think (was coded so opensc and 
pcsc-only applications can coexist and both use openct).

also a small number of card readers have several slots, not sure if openct or 
ccid support that however.

if you want to use a reader with pinpad (and use the pinpad), then you need to 
use opensc -> pcsc-lite -> libccid, as openct doesn't support pinpad 
properly.

As for the text:
opensc was written for PC/SC architecture and works fine with it, and maybe it 
is best to recommend opensc + pcsc-lite + ccid these days.

openct was written when writing drivers for pcsc-lite was hard, pcsc-lite was 
acting funny (with everyone too busy to help finding out why), and a few 
hundred lines of code got the problem solved (replacing pcsc-lite). openct is 
still available, because it is working well enough for many places and easy 
to setup and debug.

but in terms of features and supported drivers pcsc-lite and ccid are way 
better these days, and with ludovic as active maintainer for both, but noone
working on openct, it is better to invest in pcsc-lite.

opensc itself is neutral - it has three reader drivers for PC/SC subsystem, 
openct subsystem and ct-api drivers - and all of them should work similar 
well - except PINPAD support is only available for PC/SC (noone implemented 
it for openct or ct-api).

I'm not 100% sure - some home banking applications still seem to use ct-api 
drivers. but except for that I don't remember any users of ct-api and thus I 
guess it is obsolete these days.

does this help?

Regards, Andreas
_______________________________________________
opensc-devel mailing list
opensc-devel@lists.opensc-project.org
http://www.opensc-project.org/mailman/listinfo/opensc-devel

Reply via email to