Programming CryptoCard KT-1 Tokens Using a Windows Platform

20070501: As of May, 2007, the contact at CryptoCard for the distribution of software development kits is Bill LaHam (Bill's current e-mail address is, but will probably be changing to

Bill sent me the software development kits for both Linux and Windows.  (The version number of the Windows SDK was 1.3.)  Each SDK was packaged as a .ZIP file.  For my application, the Windows SDK was used only for token initialization and the Linux SDK was used only for token authentication.

The Windows token initialization functionality was packaged as a .COM object, and the example software was written in Microsoft Visual Basic.

The token initialization functionality in the example program packaged with the SDK worked nearly exactly as expected.  The only difficulty encountered was that the instructions in the SDK did not indicate that a driver for the token initializer needs to be installed.  (This driver is contained in the file libusb0.sys in the SDK.)  If the driver isn't installed, the Visual Basic example program fails with an unhandled memory exception at the Initialize() function call.

The steps to initialize a KT-1 token using a Windows platform and the SDK example program are:

Bill LaHam also sent me a Java application that provides a GUI to initialize tokens (screen snapshot below).  This worked quite well.  It was very easy to copy and paste random keys (provided, for example, by this page) into the Java application and to initialize tokens.  In my application, the Java application proved to be the best token initialization method.

This web page is maintained by David T. Ashley.  Local time on this server (at the time the page was served) is