PKCS#11 OBJECT MODEL

Objects, attributes and persistence

Applications receive predictable object visibility and attribute behavior instead of relying on provider-specific guesses.

01

Object profiles

Object classKey attributesPolicy
CKO_PRIVATE_KEYCKA_ID, CKA_LABEL, CKA_KEY_TYPE, CKA_SIGN/DERIVESensitive; non-extractable unless approved wrapped migration
CKO_PUBLIC_KEYCKA_ID, CKA_LABEL, CKA_VERIFYExportable public material under profile
CKO_CERTIFICATECKA_ID, CKA_LABEL, CKA_SUBJECT, CKA_ISSUERAssociated to key by stable CKA_ID
CKO_DATAVendor/profile data onlyNot used for secret material without explicit profile

02

Attribute behavior

AttributeBehavior
CKA_IDStable key/certificate association identifier
CKA_LABELHuman-readable, uniqueness rules documented
CKA_TOKENPersistence choice controlled by template/policy
CKA_SENSITIVETrue for private/secret material
CKA_EXTRACTABLEFalse by default for protected private keys
CKA_ALWAYS_AUTHENTICATEUsed only when release profile implements context login
Unknown/unsupported attributeCKR_ATTRIBUTE_TYPE_INVALID or documented behavior