PKCS#11 – Supported Attributes

Create EC and RSA Public Key Attributes Support

The table below lists attributes that differ by key types. It indicates whether a given attribute in a template is supported for a particular key type being created.

Table Entry

Meaning

Yes

Indicates that PKCS#11 library supports the attribute for the specific key type.

No

Indicates that PKCS#11 library does not support the attribute for the specific key type.

Read-only

The attribute is set to read-only for the specific key type.

An empty cell in Default Value column indicates there is no specific value assigned to the attribute.

(Result of library function)

Indicates that the attribute value is determined by the PKCS#11 library

C_CreateObject
Attributes KeyTypes Default Values Note
EC Public RSA Public

CKA_CLASS

Yes

Yes

 CKO_PUBLIC_KEY

Mandatory template attribute.

CKA_TOKEN

Read-only

Read-only

FALSE

NVIDIA limitation.  Create token public key not supported.

CKA_PRIVATE

Read-only

Read-only

TRUE

NVIDIA limitation. All objects are private.

CKA_LABEL

Yes

Yes

 

CKA_VALUE

No

No

 

 

CKA_TRUSTED

Read-only

Read-only

FALSE

NVIDIA limitation. Cannot create a trusted wrapping key at runtime.

CKA_CHECK_VALUE

No

No

 

 

CKA_KEY_TYPE

Yes

Yes

 

Mandatory template attribute.

CKA_SUBJECT

No

No

NVIDIA limitation. Attribute not supported 

CKA_ID

Yes

Yes

 

Mandatory template attribute

CKA_SENSITIVE

No

No

 

 

CKA_ENCRYPT

Read-only

Read-only

FALSE

NVIDIA limitation. Public key encryption is not supported.

CKA_DECRYPT

No

No

CKA_WRAP

Read-only

Read-only

FALSE

NVIDIA limitation. Public key wrap is not supported.

CKA_UNWRAP

No

No

CKA_SIGN

No

No

CKA_VERIFY

Yes

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_VERIFY_RECOVER

No

No

 

NVIDIA limitation. Attribute not supported

CKA_DERIVE

Read-only

Read-only

FALSE

NVIDIA limitation. Cannot derive from a Public key.

CKA_START_DATE

Yes

Yes

 

CKA_END_DATE

Yes

Yes

 

CKA_MODULUS

No

Yes

 

Mandatory template attribute

CKA_MODULUS_BITS

No

Read-only

(Result of library function)

Must not be template attribute

CKA_PUBLIC_EXPONENT

No

Yes

 

Mandatory template attribute

CKA_PUBLIC_KEY_INFO

No

No

 

NVIDIA limitation. Attribute not supported 

CKA_VALUE_LEN

No

No

 

 

CKA_EXTRACTABLE

No

No

 

 

CKA_LOCAL

Read-only

Read-only

FALSE

Must not be template attribute

CKA_NEVER_EXTRACTABLE

No

No

 

 

CKA_ALWAYS_SENSITIVE

No

No

 

 

CKA_KEY_GEN_MECHANISM

Read-only

Read-only

CK_UNAVAILABLE_INFORMATION

Due to CKA_LOCAL set FALSE

CKA_MODIFIABLE

Yes

Yes

TRUE

 

CKA_COPYABLE

Yes

Yes

TRUE

CKA_DESTROYABLE

Yes

Yes

TRUE

 

CKA_EC_PARAMS

Yes

No

 

Mandatory template attribute

CKA_EC_POINT

Yes

No

 

Mandatory template attribute

CKA_WRAP_WITH_TRUSTED

No

No

CKA_WRAP_TEMPLATE

No

No

 

 NVIDIA limitation. Not supported.

CKA_UNWRAP_TEMPLATE

No

No

 

 

CKA_ALLOWED_MECHANISMS

Yes

Yes

Mandatory template attribute

Create Secret Key Attributes Support

The table below lists attributes that differ by key types. It indicates whether a given attribute in a template is supported for a particular key type being created.

Table Entry Meaning
Yes Indicates that PKCS#11 library supports the attribute for the specific key type.
No Indicates that PKCS#11 library does not support the attribute for the specific key type.
Read-only The attribute is set to read-only for the specific key type.
An empty cell in Default Value column indicates there is no specific value assigned to the attribute.
(Result of library function) Indicates that the attribute value is determined by the PKCS#11 library
C_CreateObject
Attributes Key Type Default Value Note
GENERIC SECRET AES
CKA_CLASS Yes Yes CKO_SECRET_KEY Mandatory template attribute
CKA_TOKEN Yes Yes FALSE
CKA_PRIVATE Read-only Read-only TRUE NVIDIA limitation. All objects are private
CKA_LABEL Yes Yes
CKA_VALUE Yes Yes Mandatory template attribute
CKA_TRUSTED Read-only Read-only FALSE NVIDIA limitation. Cannot create a trusted wrapping key at runtime
CKA_CHECK_VALUE No No
CKA_KEY_TYPE Yes Yes Mandatory template attribute
CKA_SUBJECT No No NVIDIA limitation. Attribute not supported
CKA_ID Yes Yes Mandatory template attribute
CKA_SENSITIVE Read-only Read-only TRUE NVIDIA limitation. No access to secret key material
CKA_ENCRYPT No Yes FALSE NVIDIA limitation. Observe single purpose rules
CKA_DECRYPT No Yes FALSE NVIDIA limitation. Observe single purpose rules
CKA_WRAP No Yes FALSE
CKA_UNWRAP No Yes FALSE NVIDIA limitation. Observe single purpose rules
CKA_SIGN Yes Yes FALSE NVIDIA limitation. Observe single purpose rules
CKA_VERIFY Yes Yes FALSE NVIDIA limitation. Observe single purpose rules
CKA_VERIFY_RECOVER No No
CKA_DERIVE Yes Yes FALSE NVIDIA limitation. Observe single purpose rules
CKA_START_DATE Yes Yes
CKA_END_DATE Yes Yes
CKA_MODULUS No No
CKA_MODULUS_BITS No No
CKA_PUBLIC_EXPONENT No No
CKA_PUBLIC_KEY_INFO No No
CKA_VALUE_LEN Read-only Read-only (Result of library function) Must not be template attribute
CKA_EXTRACTABLE Yes Yes FALSE
CKA_LOCAL Read-only Read-only FALSE Must not be template attribute
CKA_NEVER_EXTRACTABLE Read-only Read-only FALSE Must not be template attribute
CKA_ALWAYS_SENSITIVE Read-only Read-only FALSE Must not be template attribute.
CKA_KEY_GEN_MECHANISM Read-only Read-only CK_UNAVAILABLE_INFORMATION Due to CKA_LOCAL set FALSE
CKA_MODIFIABLE Yes Yes TRUE
CKA_COPYABLE Yes Yes TRUE
CKA_DESTROYABLE Yes Yes TRUE
CKA_EC_PARAMS No No
CKA_EC_POINT No No
CKA_WRAP_WITH_TRUSTED Yes Yes FALSE
CKA_WRAP_TEMPLATE No No NVIDIA limitation. Not supported
CKA_UNWRAP_TEMPLATE No No
CKA_ALLOWED_MECHANISMS Yes Yes Mandatory template attribute

Generate AES Secret Key Attributes Support

The table below lists attributes that differ by key types. It indicates whether a given attribute in a template is supported for a particular key type being generated.

Table Entry

Meaning

Yes

Indicates that PKCS#11 library supports the attribute for the specific key type.

No

Indicates that PKCS#11 library does not support the attribute for the specific key type.

Read-only

The attribute is set to read-only for the specific key type.

An empty cell in Default Value column indicates there is no specific value assigned to the attribute.

(Result of library function)

Indicates that the attribute value is determined by the PKCS#11 library

C_GenerateKey
Attributes Key Type Default Value Note
Generic Secret AES

CKA_CLASS

Read-only

Read-only

CKO_SECRET_KEY

Implied by generation mechanism

Cannot be changed

CKA_TOKEN

Yes

Yes

FALSE

CKA_PRIVATE

Read-only

Read-only

TRUE

NVIDIA limitation. All objects are private.

CKA_LABEL

Yes

Yes

 

CKA_VALUE

Read-only

Read-only

(Result of library function)

Is set by mechanism.

CKA_TRUSTED

Read-only

Read-only

FALSE

NVIDIA limitation. Cannot create a trusted wrapping key at runtime.

CKA_CHECK_VALUE

Read-only

Read-only

(Result of library function)

 

CKA_KEY_TYPE

Read-only

Read-only

(Result of library function)

Is set by mechanism Cannot be changed

CKA_SUBJECT

No

No

 

 

CKA_ID

Yes

Yes

 

Mandatory template attribute

CKA_SENSITIVE

Read-only

Read-only

TRUE

NVIDIA limitation. No access to Secret key material.

CKA_ENCRYPT

No

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_DECRYPT

No

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_WRAP

No

Yes

FALSE

CKA_UNWRAP

No

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_SIGN

Yes

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_VERIFY

Yes

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_VERIFY_RECOVER

No

No

 

 

CKA_DERIVE

Yes

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_START_DATE

Yes

Yes

 

CKA_END_DATE

Yes

Yes

 

CKA_MODULUS

No

No

 

 

CKA_MODULUS_BITS

No

No

 

 

CKA_PUBLIC_EXPONENT

No

No

 

 

CKA_PUBLIC_KEY_INFO

No

No

 

 

CKA_VALUE_LEN

Yes

Yes

16

Mandatory template attribute

CKA_EXTRACTABLE

Yes

Yes

FALSE

CKA_LOCAL

Read-only

Read-only

TRUE

Must not be template attribute

CKA_NEVER_EXTRACTABLE

Read-only

Read-only

(Result of library function)

Must not be template attribute

CKA_ALWAYS_SENSITIVE

Read-only

Read-only

TRUE

Must not be template attribute. NVIDIA limitation. No access to Secret key material.

CKA_KEY_GEN_MECHANISM

Read-only

Read-only

(Result of library function)

Must not be template attribute

CKA_MODIFIABLE

Yes

Yes

TRUE

 

CKA_COPYABLE

Yes

Yes

TRUE

CKA_DESTROYABLE

Yes

Yes

TRUE

 

CKA_EC_PARAMS

No

No

 

 

CKA_EC_POINT

No

No

 

 

CKA_WRAP_WITH_TRUSTED

Yes

Yes

FALSE

CKA_WRAP_TEMPLATE

No

No

 

NVIDIA limitation. Not supported.

CKA_UNWRAP_TEMPLATE

No

No

 

NVIDIA limitation. Not supported.

CKA_ALLOWED_MECHANISMS

Yes

Yes

 Mandatory template attribute

Generate Public / Private Key Pair Attributes Support

The table below lists attributes that differ by key types. It indicates whether a given attribute in a template is supported for a particular key type being generated.

Table Entry Meaning
Yes Indicates that PKCS#11 library supports the attribute for the specific key type.
No Indicates that PKCS#11 library does not support the attribute for the specific key type.
Read-only The attribute is set to read-only for the specific key type.
An empty cell in Default Value column indicates there is no specific value assigned to the attribute.
(Result of library function) Indicates that the attribute value is determined by the PKCS#11 library
C_GenerateKeyPair
Attributes Key Type Default Value Note
EC Public EC Private
CKA_CLASS Read-only Read-only (Result of library function)
CKA_TOKEN Yes Yes FALSE Same value for both templates
CKA_PRIVATE Read-only Read-only TRUE NVIDIA limitation. All objects are private.
CKA_LABEL Yes Yes
CKA_VALUE No No
CKA_TRUSTED Read-only No FALSE NVIDIA limitation. Cannot create a trusted wrapping key at runtime.
CKA_CHECK_VALUE No No
CKA_KEY_TYPE Read-only Read-only (Result of library function)
CKA_SUBJECT No No NVIDIA limitation. Attribute not supported
CKA_ID Yes Yes Mandatory template attribute, they must be identical
CKA_SENSITIVE No Read-only TRUE NVIDIA limitation. No access to private key material
CKA_ENCRYPT Read-only No FALSE NVIDIA limitation. Public key encryption is not supported
CKA_DECRYPT No Read-only FALSE NVIDIA limitation. Private key decryption is not supported
CKA_WRAP Read-only No FALSE NVIDIA limitation. Public key wrap is not supported
CKA_UNWRAP No Read-only FALSE NVIDIA limitation. Private key unwrap is not supported
CKA_SIGN No Yes FALSE NVIDIA limitation. Observe single purpose rules
CKA_SIGN_RECOVER No No - NVIDIA limitation. Attribute not supported
CKA_VERIFY Yes No FALSE NVIDIA limitation. Observe single purpose rules
CKA_VERIFY_RECOVER No No - NVIDIA limitation. Attribute not supported
CKA_DERIVE Read-only Yes FALSE NVIDIA limitation. Cannot derive from a public key
CKA_START_DATE Yes Yes
CKA_END_DATE Yes Yes
CKA_MODULUS No No
CKA_MODULUS_BITS No No
CKA_PUBLIC_EXPONENT No No
CKA_PUBLIC_KEY_INFO No No NVIDIA limitation. Attribute not supported
CKA_VALUE_LEN No No
CKA_EXTRACTABLE No Read-only FALSE NVIDIA limitation. Private key extraction is not supported
CKA_LOCAL Read-only Read-only TRUE Must not be template attribute
CKA_NEVER_EXTRACTABLE No Read-only (Result of library function) Must not be template attribute
CKA_ALWAYS_SENSITIVE No Read-only TRUE Must not be template attribute. NVIDIA limitation. No access to private key material
CKA_KEY_GEN_MECHANISM Read-only Read-only (Result of library function) Must not be template attribute
CKA_MODIFIABLE Yes Yes TRUE
CKA_COPYABLE Yes Yes TRUE
CKA_DESTROYABLE Yes Yes TRUE
CKA_EC_PARAMS Yes Read-only

Public key: mandatory template attribute

Private key: must not be template attribute

CKA_EC_POINT Read-only Read-only (Result of library function)
CKA_WRAP_WITH_TRUSTED No Yes FALSE
CKA_WRAP_TEMPLATE No No NVIDIA limitation. Not supported
CKA_UNWRAP_TEMPLATE No No
CKA_ALLOWED_MECHANISMS Yes Yes Mandatory template attribute
CKA_ALWAYS_AUTHENTICATE No No NVIDIA limitation. Not supported for private keys

Derive Secret Key Attributes Support

The table below lists attributes that differ by key types. It indicates whether a given attribute in a template is supported for a particular key type being derived.

Table Entry

Meaning

Yes

Indicates that PKCS#11 library supports the attribute for the specific key type.

No

Indicates that PKCS#11 library does not support the attribute for the specific key type.

Read-only

The attribute is set to read-only for the specific key type.

An empty cell in Default Value column indicates there is no specific value assigned to the attribute.

(Result of library function)

Indicates that the attribute value is determined by the PKCS#11 library

C_DeriveKey  
Attributes  Key Type Default Value  Note 
GENERIC SECRET AES

CKA_CLASS

Read-only

Read-only

CKO_SECRET_KEY

NVIDIA limitation. Can only derive a Secret key

CKA_TOKEN

Yes

Yes

FALSE

CKA_PRIVATE

Read-only

Read-only

TRUE

NVIDIA limitation. All objects are private

CKA_LABEL

Yes

Yes

 

CKA_VALUE

Read-only

Read-only

(Result of library function)

CKA_TRUSTED

Read-only

Read-only

FALSE

NVIDIA limitation. Cannot create a trusted wrapping key at runtime

CKA_CHECK_VALUE

No

No

NVIDIA limitation. Not supported

CKA_KEY_TYPE

Yes

Yes

Mandatory template attribute

CKA_SUBJECT

No

No

 

 

CKA_ID

Yes

Yes

 

Mandatory template attribute

CKA_SENSITIVE

Yes Yes

TRUE

CKA_ENCRYPT

No

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_DECRYPT

No

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_WRAP

No

Yes

FALSE

CKA_UNWRAP

No

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_SIGN

Yes

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_VERIFY

Yes

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_VERIFY_RECOVER

No

No

 

 

CKA_DERIVE

Yes

Yes

FALSE

NVIDIA limitation. Observe single purpose rules

CKA_START_DATE

Yes

Yes

 

CKA_END_DATE

Yes

Yes

 

CKA_MODULUS

No

No

 

 

CKA_MODULUS_BITS

No

No

 

 

CKA_PUBLIC_EXPONENT

No

No

 

 

CKA_PUBLIC_KEY_INFO

No

No

 

 

CKA_VALUE_LEN

Yes

Yes

16

Mandatory template attribute. 

CKA_EXTRACTABLE

Yes

Yes

FALSE

CKA_LOCAL

Read-only

Read-only

FALSE

Must not be template attribute

CKA_NEVER_EXTRACTABLE

Read-only

Read-only

Inherited from base key depending on CKA_EXTRACTABLE history

Must not be template attribute

CKA_ALWAYS_SENSITIVE

Read-only

Read-only

Inherited from base key depending on CKA_SENSITIVE history**

Must not be template attribute

CKA_KEY_GEN_MECHANISM

Read-only

Read-only

CK_UNAVAILABLE_INFORMATION

Due to CKA_LOCAL set FALSE

CKA_MODIFIABLE

Yes

Yes

TRUE

 

CKA_COPYABLE

Yes

Yes

TRUE

CKA_DESTROYABLE

Yes

Yes

TRUE

 

CKA_EC_PARAMS

No

No

 

 

CKA_EC_POINT

No

No

 

 

CKA_WRAP_WITH_TRUSTED

Yes

Yes

FALSE

CKA_WRAP_TEMPLATE

No

No

 

NVIDIA limitation. Not supported.

CKA_UNWRAP_TEMPLATE

No

No

 

NVIDIA limitation. Not supported.

CKA_ALLOWED_MECHANISMS

Yes

Yes

 Mandatory template attribute

* If the base key has its CKA_NEVER_EXTRACTABLE attribute set to CK_FALSE, then the derived key will too. If the base key has its CKA_NEVER_EXTRACTABLE attribute set to CK_TRUE, then the derived key has its CKA_NEVER_EXTRACTABLE attribute set to the opposite value from its CKA_EXTRACTABLE attribute.

** If the base key has its CKA_ALWAYS_SENSITIVE attribute set to CK_FALSE, then the derived key will as well. If the base key has its CKA_ALWAYS_SENSITIVE attribute set to CK_TRUE, then the derived key has its CKA_ALWAYS_SENSITIVE attribute set to the same value as its CKA_SENSITIVE attribute.

Unwrap key attributes support

PKCS#11 library does not support Cryptoki attributes supplied within a template to be applied to the unwrapped key. The key attributes are instead supplied via the optional AAD (additional authenticated data) input of the CKM_AES_GCM mechanism called with C_UnwrapKey.

Copy key attributes support

The table below lists attributes that differ by key types. It indicates whether a given attribute in a template is supported for a particular key type being copied.

Table Entry

Meaning

Yes

Indicates that PKCS#11 library supports the attribute for the specific key type.

No

Indicates that PKCS#11 library does not support the attribute for the specific key type.

Read-only

The attribute is set to read-only for the specific key type.

An empty cell in Default Value column indicates there is no specific value assigned to the attribute.

(Result of library function)

Indicates that the attribute value is determined by the PKCS#11 library

C_CopyObject
Attributes Key Type Default Value Note
EC Private EC Public RSA Public Generic Secret AES

CKA_CLASS

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

CKA_TOKEN

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

NVIDIA limitation. A token key cannot be copied into a session key or visa versa.

CKA_PRIVATE

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

CKA_LABEL

Yes

Yes

Yes

Yes

Yes

Inherited from Object being copied

 

CKA_VALUE

No

No

No

Read-only

Read-only

Inherited from Object being copied

CKA_TRUSTED

No

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

CKA_CHECK_VALUE

No

No

No

No

No

 NVIDIA limitation. Attribute not supported.

CKA_KEY_TYPE

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

CKA_SUBJECT

No

No

No

No

No

NVIDIA limitation. Attribute not supported

CKA_ID

Yes

Yes

Yes

Yes

Yes

 

Mandatory template attribute

CKA_SENSITIVE

Read-only

No

No

Read-only

Read-only

Inherited from Object being copied

CKA_ENCRYPT

No

Read only

Read only

No

Read-only

Inherited from Object being copied

NVIDIA limitation. Key usage immutability.

CKA_DECRYPT

Read-only

No

No

No

Read-only

Inherited from Object being copied

NVIDIA limitation.  Key usage immutability.

CKA_WRAP

No

Read-only

Read-only

No

Read-only

Inherited from Object being copied

NVIDIA limitation. Key usage immutability.

CKA_UNWRAP

Read-only

No

No

No

Read-only

Inherited from Object being copied

NVIDIA limitation.  Key usage immutability.

CKA_SIGN

Read-only

No

No

Read-only

Read-only

Inherited from Object being copied

NVIDIA limitation.  Key usage immutability.

CKA_SIGN_RECOVER No No No No No Nvidia limitation. Attribute not supported for private keys.

CKA_VERIFY

No

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

NVIDIA limitation.  Key usage immutability.

CKA_VERIFY_RECOVER

No

No

No

No

No

 

NVIDIA limitation. Attribute not supported.

CKA_DERIVE

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

NVIDIA limitation.  Key usage immutability.

CKA_START_DATE

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

 

CKA_END_DATE

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

 

CKA_MODULUS

No

No

Read-only

No

No

Inherited from Object being copied

 

CKA_MODULUS_BITS

No

No

Read-only

No

No

Inherited from Object being copied

 

CKA_PUBLIC_EXPONENT

No

No

Read-only

No

No

Inherited from Object being copied

 

CKA_PUBLIC_KEY_INFO

No

No

No

No

No

NVIDIA limitation. Attribute not supported

CKA_VALUE_LEN

No

No

No

Read-only

Read-only

Inherited from Object being copied

 

CKA_EXTRACTABLE

Read-only

No

No

Read-only

Read-only

Inherited from Object being copied

CKA_LOCAL

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

CKA_NEVER_EXTRACTABLE

Read-only

No

No

Read-only

Read-only

Inherited from Object being copied

CKA_ALWAYS_SENSITIVE

Read-only

No

No

Read-only

Read-only

Inherited from Object being copied

CKA_KEY_GEN_MECHANISM

Read-only

Read only

Read only

Read-only

Read-only

Inherited from Object being copied

CKA_MODIFIABLE

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

 

CKA_COPYABLE

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

CKA_DESTROYABLE

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

 

CKA_EC_PARAMS

Read-only

Read-only

No

No

No

Inherited from Object being copied

 

CKA_EC_POINT

No

Read-only

No

No

No

Inherited from Object being copied

 

CKA_WRAP_WITH_TRUSTED

Read-only

No

No

Read-only

Read-only

Inherited from Object being copied

CKA_WRAP_TEMPLATE

No

No

No

No

No

 

NVIDIA limitation. Not supported.

CKA_UNWRAP_TEMPLATE

No

No

No

No

No

 

NVIDIA limitation. Not supported.

CKA_ALLOWED_MECHANISMS

Read-only

Read-only

Read-only

Read-only

Read-only

Inherited from Object being copied

 

CKA_ALWAYS_AUTHENTICATE No No No No No NVIDIA limitation. Not supported.

Set attributes support

Note:

Only a single attribute may be set at a time.

The table below lists attributes that differ by key types. It indicates whether a given attribute in a template is supported for a particular key type operation.

Table Entry

Meaning

Yes

Indicates that PKCS#11 Library supports set attribute for the specific key type.

No

Indicates that PKCS#11 Library does not support set attribute for the specific key type.

C_SetAttributeValue
Attributes Key Type Note
EC Private EC Public RSA Public Generic Secret AES

CKA_LABEL

Yes

Yes

Yes

Yes

Yes

NVIDIA limitation. Set a single attribute at a time.

CKA_TRUSTED

No

No

No

No

No

NVIDIA limitation. Cannot create a trusted wrapping key at runtime.

CKA_CHECK_VALUE

No

No

No

No

No

NVIDIA limitation.

CKA_SUBJECT

No

No

No

No

No

NVIDIA limitation.

CKA_ID

Yes

Yes

Yes

Yes

Yes

NVIDIA limitation. Set a single attribute at a time.

CKA_SENSITIVE

No

No

No

No

No

NVIDIA limitation.

CKA_ENCRYPT

No

No

No

No

No

NVIDIA limitation. Observe single purpose immutability rule.

CKA_DECRYPT

No

No

No

No

No

NVIDIA limitation. Observe single purpose immutability rule.

CKA_WRAP

No

No

No

No

No

NVIDIA limitation. Observe single purpose immutability rule.

CKA_UNWRAP

No

No

No

No

No

NVIDIA limitation. Observe single purpose immutability rule.

CKA_SIGN

No

No

No

No

No

NVIDIA limitation. Observe single purpose immutability rule.

CKA_SIGN_RECOVER No No No No No NVIDIA limitation.

CKA_VERIFY

No

No

No

No

No

NVIDIA limitation. Observe single purpose immutability rule.

CKA_VERIFY_RECOVER

No

No

No

No

No

NVIDIA limitation.

CKA_DERIVE

No

No

No

No

No

NVIDIA limitation. Observe single purpose immutability rule.

CKA_START_DATE

No

No

No

No

No

NVIDIA limitation.

CKA_END_DATE

No

No

No

No

No

NVIDIA limitation.

CKA_PUBLIC_KEY_INFO No No No No No NVIDIA limitation.

CKA_EXTRACTABLE

No

No

No

No

No

NVIDIA limitation.

Get attributes support 

The table below lists attributes that differ by key types. It indicates whether a given attribute in a template is supported for a particular key type.

Table Entry

Meaning

Yes

Indicates that PKCS#11 Library supports the attribute for the specific key type.

No

Indicates that PKCS#11 Library does not support the attribute for the specific key type.

No Get

Indicates that the attribute is sensitive and cannot be revealed.

C_GetAttributeValue
Attributes Key Type Note
EC Private EC Public RSA Public GENERIC SECRET AES
CKA_CLASS Yes Yes Yes Yes Yes
CKA_TOKEN Yes Yes Yes Yes Yes
CKA_PRIVATE Yes Yes Yes Yes Yes
CKA_LABEL Yes Yes Yes Yes Yes
CKA_VALUE No No No No Get No Get NVIDIA limitation. Attribute always sensitive and not returned.
CKA_TRUSTED No Yes Yes Yes Yes
CKA_CHECK_VALUE No No No No No NVIDIA limitation. Attribute not supported.
CKA_KEY_TYPE Yes Yes Yes Yes Yes
CKA_SUBJECT No No No No No NVIDIA limitation. Attribute not supported
CKA_ID Yes Yes Yes Yes Yes
CKA_SENSITIVE Yes No No Yes Yes
CKA_ENCRYPT No Yes Yes No Yes
CKA_DECRYPT Yes No No No Yes
CKA_WRAP No Yes Yes No Yes
CKA_UNWRAP Yes No No No Yes
CKA_SIGN Yes No No Yes Yes
CKA_SIGN_RECOVER No No No No No Nvidia limitation. Attribute not supported for Private keys
CKA_VERIFY No Yes Yes Yes Yes
CKA_VERIFY_RECOVER No No No No No NVIDIA limitation. Attribute not supported for public keys.
CKA_DERIVE Yes Yes Yes Yes Yes
CKA_START_DATE Yes Yes Yes Yes Yes
CKA_END_DATE Yes Yes Yes Yes Yes
CKA_MODULUS No No Yes No No
CKA_MODULUS_BITS No No Yes No No
CKA_PUBLIC_EXPONENT No No Yes No No
CKA_PUBLIC_KEY_INFO No No No No No NVIDIA limitation. Attribute not supported for public keys.
CKA_VALUE_LEN No No No Yes Yes
CKA_EXTRACTABLE Yes No No Yes Yes
CKA_LOCAL Yes Yes Yes Yes Yes
CKA_NEVER_EXTRACTABLE Yes No No Yes Yes
CKA_ALWAYS_SENSITIVE Yes No No Yes Yes
CKA_KEY_GEN_MECHANISM Yes Yes Yes Yes Yes Contains a valid value only if CKA_LOCAL is TRUE. Else is CK_UNAVAILABLE_INFORMATION
CKA_MODIFIABLE Yes Yes Yes Yes Yes
CKA_COPYABLE Yes Yes Yes Yes Yes
CKA_DESTROYABLE Yes Yes Yes Yes Yes
CKA_EC_PARAMS Yes Yes No No No NVIDIA limitation. Contains CK_UNAVAILABLE_INFORMATION
CKA_EC_POINT No Yes No No No
CKA_WRAP_WITH_TRUSTED Yes No No Yes Yes
CKA_WRAP_TEMPLATE No No No No No NVIDIA limitation. Not supported.
CKA_UNWRAP_TEMPLATE No No No No No NVIDIA limitation. Not supported.
CKA_ALLOWED_MECHANISMS Yes Yes Yes Yes Yes
CKA_ALWAYS_AUTHENTICATE No No No No No NVIDIA limitation. Not supported

Key Exclusive Usage Rules

PKCS#11 library limits key usage attributes such that a key is only usable for a single purpose, or for a single class of purposes. The following purposes and purpose combinations are valid:

  • Encryption (CKA_ENCRYPT)
  • Decryption (CKA_DECRYPT)
  • Encryption and decryption (CKA_ENCRYPT | CKA_DECRYPT)
  • Signature generation (CKA_SIGN)
  • Signature verification (CKA_VERIFY)
  • Signature generation and verification (CKA_SIGN | CKA_VERIFY)
  • Key unwrapping (CKA_UNWRAP)
  • Key wrapping (CKA_WRAP)
  • Key unwrapping and wrapping (CKA_UNWRAP | CKA_WRAP)
  • Key derivation (CKA_DERIVE)

Key Usage Immutability

PKCS#11 library does not allow modification of key usage attributes after key creation.

CKA_ID

PKCS#11 library requires that any CKA_ID generated by the client application satisfies the following constraints:

  • A byte array of CK_BYTEs must be padded with space character to 32 bytes
  • No NULL character
  • Must not start with "NV"
  • Unique

Returns CKR_ATTRIBUTE_VALUE_INVALID if any of these conditions are not met.

Attribute Repeated in Template

PKCS#11 library returns CKR_TEMPLATE_INCONSISTENT if a template for an object specifies the same attribute more than once.

Surplus Attributes in Template

PKCS#11 library returns CKR_TEMPLATE_INCONSISTENT if a template for an object specifies attributes surplus to expectation

Unwrap Template Not Supported

The attribute CKA_UNWRAP_TEMPLATE is not supported.

Wrap Template Not Supported

The attribute CKA_WRAP_TEMPLATE is not supported.

CKA_UNIQUE_ID

PKCS#11 library does not support this attribute.