Key objects
The following figure illustrates details of key objects:
Key attribute detail
Key objects hold encryption or authentication keys, which can be public keys, private keys, or secret keys. The HSM has a key storage capacity of 4 MB.
The following common footnotes apply to all the tables describing attributes of keys:
Common footnotes for key attribute tables
1 Must be specified when object is created with C_CreateObject.
2 Must not be specified when object is created with C_CreateObject.
3 Must be specified when object is generated with C_GenerateKey or C_GenerateKeyPair.
4 Must not be specified when object is generated with C_GenerateKey or C_GenerateKeyPair.
5 Must be specified when object is unwrapped with C_UnwrapKey.
6 Must not be specified when object is unwrapped with C_Unwrap.
7 Cannot be revealed if object has CKA_SENSITIVE attribute set to TRUE or its CKA_EXTRACTABLE attribute set to FALSE.
8 Can be modified after object is created with a C_SetAttributeValue call, or in the process of copying object with a C_CopyObject call. As mentioned previously, however, it is possible that a particular token may not permit modification of the attribute.
9 Default value is token-specific, and may depend on the values of other attributes.
10 SafeNet Extension
The following table defines the attributes common to public key, private key and secret key classes, in addition to the common attributes listed in Common object attributes and Common storage object attributes:
Common key attributes
Attribute | Data type | Meaning |
---|---|---|
CKA_KEY_TYPE 1,3,5 |
CK_KEY_TYPE |
Type of key |
CKA_ID 8 |
Byte array | Key identifier for key (default empty) |
CKA_START_DATE 8 |
CK_DATE |
Start date for the key (default empty). If not empty then the attribute holds starting date for the key. |
CKA_END_DATE 8 |
CK_DATE |
End date for the key (default empty). If not empty then the attribute holds expiry date for the key. |
CKA_ADMIN_CERT 10 |
Byte array | DER encoded certificate of the key administrator. See more details in the discussion on Key Usage Limits. |
CKA_DERIVE 8 |
CK_BBOOL |
TRUE if key supports key derivation (that is, if other keys can be derived from this one (default FALSE) |
CKA_LOCAL 2,4,6 |
CK_BBOOL |
TRUE only if key was either generated locally (that is, on the token) with a C_GenerateKey or C_GenerateKeyPair call, or created with a C_CopyObject call as a copy of a key which had its CKA_LOCAL attribute set to TRUE |
CKA_MECHANISM_LIST 10 |
CKA_MECHANISM_TYPE array |
List of allowable mechanisms that can be used. For more information about this attribute, refer to CKA_MECHANISM_LIST |