Key Attribute Defaults
The following default attribute settings are applied to generated keys/keypairs, and to unwrapped private/secret keys, unless your application specifies different values.
Management Attributes
Attribute | Default Value | |||
---|---|---|---|---|
Generated Public Keys | Generated Private Keys | Unwrapped Private/Secret Keys | Derived Secret Keys | |
CKA_TOKEN | 0 (FALSE) | 0 (FALSE) | 0 (FALSE) | 0 (FALSE) |
CKA_PRIVATE | 1 (TRUE) if Crypto Officer logged in 0 (FALSE) if Crypto Officer not logged in |
1 (TRUE) if Crypto Officer logged in 0 (FALSE) if Crypto Officer not logged in |
1 (TRUE) if Crypto Officer logged in 0 (FALSE) if Crypto Officer not logged in |
1 (TRUE) if Crypto Officer logged in 0 (FALSE) if Crypto Officer not logged in |
CKA_SENSITIVE |
N/A |
1 (TRUE) | 1 (TRUE) | 0 (FALSE) |
CKA_MODIFIABLE | 1 (TRUE) | 1 (TRUE) | 1 (TRUE) | 1 (TRUE) |
CKA_EXTRACTABLE | N/A | 0 (FALSE) | 0 (FALSE) | 0 (FALSE) |
CKA_ALWAYS_SENSITIVE | N/A | Always the same value as CKA_SENSITIVE | Always 0 (FALSE) | Inherited from base key(s) depending on CKA_SENSITIVE history* |
CKA_NEVER_EXTRACTABLE | N/A | Always the opposite value of CKA_EXTRACTABLE | Always 0 (FALSE) | Inherited from base key(s) depending on CKA_EXTRACTABLE history** |
NOTE If using a Luna Cloud HSM service you must specify both CKA_PRIVATE=1 and CKA_SENSITIVE=1 Key Attributes for all Generated, Derived and Unwrapped keys.
* CKA_ALWAYS_SENSITIVE=1 assures that the key and the key(s) from which it was derived have always been sensitive (CKA_SENSITIVE=1). If a newly-derived key has CKA_ALWAYS_SENSITIVE=0, it means the key(s) from which it derives has had CKA_SENSITIVE=0 at some point.
** CKA_NEVER_EXTRACTABLE=1 assures that the key and the key(s) from which it was derived have never been extractable (CKA_EXTRACTABLE has always been set to 0). If a newly-derived key has CKA_NEVER_EXTRACTABLE=0, it means the key(s) from which it derives has had CKA_EXTRACTABLE=1 at some point.
Key Usage Attributes
Attribute | Default Value | |||
---|---|---|---|---|
Generated Public Keys | Generated Private Keys | Unwrapped Private/Secret Keys | Derived Secret Keys | |
CKA_ENCRYPT | 0 (FALSE) | N/A | 0 (FALSE) | 0 (FALSE) |
CKA_DECRYPT | N/A | 0 (FALSE) | 0 (FALSE) | 0 (FALSE) |
CKA_WRAP | 0 (FALSE) | N/A | 0 (FALSE) | 0 (FALSE) |
CKA_UNWRAP | N/A | 0 (FALSE) | 0 (FALSE) | 0 (FALSE) |
CKA_SIGN | N/A | 0 (FALSE) | 0 (FALSE) | 0 (FALSE) |
CKA_VERIFY | 0 (FALSE) | N/A | 0 (FALSE) | 0 (FALSE) |
CKA_DERIVE | 0 (FALSE) | N/A | 0 (FALSE) | 0 (FALSE) |
Vendor-defined key attributes
KEY ATTRIBUTE | DESCRIPTION |
---|---|
CKA_CCM_PRIVATE | Not used by current Luna HSMs; it does not affect any of the HSM functionality. |
CKA_OUID | This is a 12-byte unique identifier for the object, unique across all Luna HSMs. It can be used to identify the object across multiple HSM. |
CKA_EKM_UID | This is not used by the Luna HSM, it does not affect any of the HSM functionality. It is intended to be used by our EKM Key Manager SHIM to store a KEY ID, so that the key manager can track keys efficiently. Customer applications should not use this (they should use the CKA_GENERIC_1/2/3 attributes defined below). |
CKA_GENERIC_1/2/3 | These are not used by the Luna HSM, and do not affect any of the HSM functionality. They are variable length attributes that store an array of CK_BYTE and are provided for customer applications to make use of, to store whatever data they want. |