Cryptographic Token Interface Standard |
PKCS#11 |
Data Fields | |
CK_CHAR | label [32] |
application defined label, assigned during token initialization; must be padded with the blank character (' '). More... | |
CK_CHAR | manufacturerID [32] |
ID of the device manufacturer; must be padded with the blank character (' '). More... | |
CK_CHAR | model [16] |
model of the device; must be padded with the blank character (' '). More... | |
CK_CHAR | serialNumber [16] |
character-string serial number of the device; must be padded with the blank character (' '). More... | |
CK_FLAGS | flags |
bit flags indicating capabilities and status of the device as defined below. More... | |
CK_USHORT | usMaxSessionCount |
maximum number of sessions that can be opened with the token at one time. More... | |
CK_USHORT | usSessionCount |
number of sessions that are currently open with the token. More... | |
CK_USHORT | usMaxRwSessionCount |
maximum number of read/write sessions that can be opened with the token at one time. More... | |
CK_USHORT | usRwSessionCount |
number of read/write sessions that are currently open with the token. More... | |
CK_USHORT | usMaxPinLen |
maximum length in bytes of the PIN. More... | |
CK_USHORT | usMinPinLen |
minimum length in bytes of the PIN. More... | |
CK_ULONG | ulTotalPublicMemory |
the total amount of memory in bytes occupied by public objects. More... | |
CK_ULONG | ulFreePublicMemory |
the amount of free (unused) memory in bytes for public objects. More... | |
CK_ULONG | ulTotalPrivateMemory |
the total amount of memory in bytes occupied by private objects. More... | |
CK_ULONG | ulFreePrivateMemory |
the amount of free (unused) memory in bytes for private objects. More... |
label | application defined label, assigned during token initialization; must be padded with the blank character (' ') |
manufacturerID | ID of the device manufacturer; must be padded with the blank character (' ') |
model | model of the device; must be padded with the blank character (' ') |
serialNumber | character-string serial number of the device; must be padded with the blank character (' ') |
flags | bit flags indicating capabilities and status of the device as defined below |
usMaxSessionCount | maximum number of sessions that can be opened with the token at one time |
usSessionCount | number of sessions that are currently open with the token |
usMaxRwSessionCount | maximum number of read/write sessions that can be opened with the token at one time |
usRwSessionCount | number of read/write sessions that are currently open with the token |
usMaxPinLen | maximum length in bytes of the PIN |
usMinPinLen | minimum length in bytes of the PIN |
ulTotalPublicMemory | the total amount of memory in bytes occupied by public objects |
ulFreePublicMemory | the amount of free (unused) memory in bytes for public objects |
ulTotalPrivateMemory | the total amount of memory in bytes occupied by private objects |
ulFreePrivateMemory | the amount of free (unused) memory in bytes for private objects |
The flags parameter is defined as follows:
Table 7-2, Token Information Flags
Bit Flag | Mask | Meaning |
CKF_RNG | 0x0001 | TRUE if the token has its own random number generator |
CKF_WRITE_PROTECTED | 0x0002 | TRUE if the token is write-protected |
CKF_LOGIN_REQUIRED | 0x0004 | TRUE if a user must be logged in to perform cryptographic functions |
CKF_USER_PIN_INITIALIZED | 0x0008 | TRUE if the normal user's PIN has been initialized |
CKF_EXCLUSIVE_EXISTS | 0x0010 | TRUE if an exclusive session exists |
Session types
Cryptoki represents session information with the following types.
typedef CK_ULONG CK_SESSION_HANDLE;
typedef enum CK_USER_TYPE { CKU_SO, /* Security Officer */ CKU_USER /* Normal user */ } CK_USER_TYPE;
typedef enum CK_STATE { CKS_RW_PUBLIC_SESSION, CKS_RW_USER_FUNCTIONS, CKS_RO_PUBLIC_SESSION, CKS_RO_SO_FUNCTIONS, CKS_RO_USER_FUNCTIONS } CK_STATE;
|
application defined label, assigned during token initialization; must be padded with the blank character (' '). |
|
ID of the device manufacturer; must be padded with the blank character (' '). |
|
model of the device; must be padded with the blank character (' '). |
|
character-string serial number of the device; must be padded with the blank character (' '). |
|
bit flags indicating capabilities and status of the device as defined below. |
|
maximum number of sessions that can be opened with the token at one time. |
|
number of sessions that are currently open with the token. |
|
maximum number of read/write sessions that can be opened with the token at one time. |
|
number of read/write sessions that are currently open with the token. |
|
maximum length in bytes of the PIN. |
|
minimum length in bytes of the PIN. |
|
the total amount of memory in bytes occupied by public objects. |
|
the amount of free (unused) memory in bytes for public objects. |
|
the total amount of memory in bytes occupied by private objects. |
|
the amount of free (unused) memory in bytes for private objects. |