Microprocessor (Fixed Function) Smart Card Development Kit
ACS ACOS3 Smart Card
Gemalto GemPlus Card Reader
Programmable Smart Card Development Kit
ZeitControl BasicCard ZC5.4 Smart Card
Identive SCR500 Portable USB Card Reader
ACOS3 Smart Card
The ACOS3 card has 32KB of EEPROM, and initially it seemed ideal for my project. As it turns out, the card functions more as a storage medium with native functionality limited to read/write operations. These operations are performed by sending machine code instructions known as Application Protocol Data Units (APDUs) to the card.
Using the ACOS card would likely require the development of a custom application with its own hardware drivers. However, it's just about possible to script a series of actions using the g(scriptor) application, which is available for Linux.
BasicCard ZC5.4 Smart Card
Has 16KB EEPROM and limited processor functions. The card is programmable and customisable to some degree, using the ZeitControl BasicCard development software. This seems more promising for the storage and use of OpenPGP keys, though I've yet to test this.
PKCS #15 Tool (Linux)
$pkcs15-tool --list-applications [List supported applications]
$pkcs15-tool --list-keys [List private keys]
$pkcs15-tool --list-public-keys [List public keys]
$pkcs15-tool --change-pin [Change card PIN]
$pkcs15-tool --list-data-objects [List all data objects]
$pkcs15-tool --dump [Dump all data objects]
Python
Information on modules and their usage to be added.
Gemalto has released the 'psycard' module.
import smartcard