Key Objects
The following figure illustrates details of key objects:
Figure 1: Key Attribute Detail
Key objects hold encryption or authentication keys, which can be public keys, private keys, or secret keys. The following common footnotes apply to all the tables describing attributes of keys:
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
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_GenerateKeyPaircall >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 see the entry for this attribute in Additional Attribute Types. |