OpenSC is a set of libraries and drivers for smartcards and cryptographic tokens. It is designed to work with PKCS #11 supporting cards. OpenCT provides drivers for card readers, and tokens that are comprised of both a card and a reader (ie. usb tokens, and other 'complete' devices).
The project maintains a compatibility list at its web site But even if a device is not on the list, it might work. A good way to check is to just try.
% opensc-tool -l Readers known about: Nr. Driver Name 0 openct OpenCT reader (detached) 1 openct OpenCT reader (detached) 2 openct OpenCT reader (detached) 3 openct OpenCT reader (detached) 4 openct OpenCT reader (detached)
So we see that it uses the openct package as a backend, but does not see any cards or tokens present at this moment.
So let's see what happen when we insert a token. See the specific appendix on how to get the driver working, if needed.
Let's insert an Eutron ITSEC CryptoIdentity token, and run our program again.
% opensc-tool -l Readers known about: Nr. Driver Name 0 openct Eutron CryptoIdendity
If you get strange errors here, refer to the appendix for more information, and see if your device is listed there.
This tool can be used for a few basic functions, or you could even construct your own data packet and send it to the card, but other than that its use is limited, and it can only see tokens directly supported by openct. Let's take a look at a more flexible tool.