Token Information

CK_TOKEN_INFO provides information about a token. This structure is set by the C_GetTokenInfo entry point.

It is defined as follows:

Copy
typedef struct CK_TOKEN_INFO {

  CK_UTF8CHAR label[32];
  
  CK_UTF8CHAR manufacturerID[32];
  
  CK_UTF8CHAR model[16];
  
  CK_CHAR serialNumber[16];
  
  CK_FLAGS flags;
  
  CK_ULONG ulMaxSessionCount;
  
  CK_ULONG ulSessionCount;
  
  CK_ULONG ulMaxRwSessionCount;
  
  CK_ULONG ulRwSessionCount;
  
  CK_ULONG ulMaxPinLen;
  
  CK_ULONG ulMinPinLen;
  
  CK_ULONG ulTotalPublicMemory;
  
  CK_ULONG ulFreePublicMemory;
  
  CK_ULONG ulTotalPrivateMemory;
  
  CK_ULONG ulFreePrivateMemory;
  
  CK_VERSION hardwareVersion;
  
  CK_VERSION firmwareVersion;
  
  CK_CHAR utcTime[16];
  
} CK_TOKEN_INFO;

The fields of the structure have the following meanings:

Field Meaning Value
Label application-defined label “HID Global ActivClient X”, where X is the slot number, i.e. if only one slot is available, X equals 0.
manufacturerID Name of the card manufacturer This value is card dependent.
Model Card Model

This value is card dependent.

serialNumber Cad Serial Number (its CUID or IIN/CIN field) This value is card dependent.
Flags See below. See CK_TOKEN_INFO Flags Definition
ulMaxSessionCount maximum number of sessions that can be opened with the token at one time by a single application CKA_EFFECTIVELY_INFINITE
ulSessionCount number of sessions that this application currently has open with the token Integer between [0, infinite]
ulMaxRwSessionCount maximum number of read/write sessions that can be opened with the token at one time by a single application CKA_EFFECTIVELY_INFINITE
ulRwSessionCount number of read/write sessions that this application currently has open with the token Integer between [0, infinite]
ulMaxPinLen Maximum PIN Length This value is profile dependent
ulMinPinLen Minimum PIN Length This value is profile dependent
ulTotalPublicMemory the total amount of memory on the token in bytes in which public objects may be stored CK_UNAVAILABLE_INFORMATION (defined as 0)
ulFreePublicMemory the amount of free (unused) memory on the token in bytes for public objects CK_UNAVAILABLE_INFORMATION (defined as 0)
ulTotalPrivateMemory the total amount of memory on the token in bytes in which private objects may be stored CK_UNAVAILABLE_INFORMATION (defined as 0)
ulFreePrivateMemory the amount of free (unused) memory on the token in bytes for private objects CK_UNAVAILABLE_INFORMATION (defined as 0)
hardwareVersion version number of the hardware* 1.0
firmwareVersion version number of the firmware* 1.0
Utctime Current Time Meaningless so empty string.

*hardwareVersion, firmwareVersion are hardcoded.