Data Objects

Data objects (object class CKO_DATA) hold information defined by an application.  Other than providing access to it, Cryptoki does not attach any special meaning to a data object.  The following table lists the attributes supported by data objects, in addition to the common attributes listed in Common Object Attributes and Common Storage Object Attributes:

Table 1: Data Object Attributes
Attribute Data Type Meaning
CKA_APPLICATION RFC2279 string Description of the application that manages the object (default empty)
CKA_OBJECT_ID Byte Array DER-encoding of the object identifier indicating the data object type (default empty)
CKA_VALUE Byte array Value of the object (default empty)

Each of these attributes may be modified after the object is created.

The CKA_APPLICATION attribute provides a means for applications to indicate ownership of the data objects they manage. However, Cryptoki does not provide a means of ensuring that only a particular application has access to a data object.

The CKA_OBJECT_ID attribute provides an independent and expandable way for an application to indicate the type of a data object. Cryptoki does not provide a means of ensuring that the data object identifier matches the data object type.