G'day,

I wanted to test some PKCS#11 libraries that talk to a Common Access Card (CAC) 
via PC/SC.

So I wrote my own implementation of the PC/SC interface, whose basic function 
was to emulate the CAC APDU handling in the SCardTransmit() function. So the 
APDUs that would normally be routed by PC/SC to the card are now handled in 
software instead.

This seems to work fine, but the PKCS#11 libraries in question expect to load 
libpcsclite.so.1, and I had to perform some load-library path trickery to get 
my libpcsclite.so.1 implementation to load instead of the system-installed 
libpcsclite.so.1

But I am wondering if I can achieve the same thing (a CAC emulator) by writing 
an ifd-handler for pcsclite (like the ccid and e-gate handlers), rather than 
writing my own PC/SC implementation. This way, the PKCS#11 libraries can still 
load the libpcsclite.so.1 that they expect to load, but I would be configuring 
pcsclite to use the cac-emulator ifd-handler instead of the ccid ifd-handler.

Is this possible? I had a brief look at the ifd-handler API and it there's 
discussion about USB devices. Is the ifd-handler API (and the pcsclite code 
that calls it) just meant for USB devices? Or is it sufficiently high-level 
enough that I can write a ifd-handler that represents a reader and card 
implemented purely in software?

--Geoff


_______________________________________________
Muscle mailing list
[email protected]
http://lists.drizzle.com/mailman/listinfo/muscle

Reply via email to