В этом разделе описан класс объектов CKO_DATA типа данных CK_OBJECT_CLASS атрибута CKA_CLASS.
Объекты данных (класс объектов CKO_DATA) содержат информацию, определяемую приложением. Стандарт PKCS #11 не подразумевает каких-либо средств использования объектов данных, кроме обеспечения доступа к ним. Следующая таблица определяет атрибуты, поддерживаемые объектами данных, в дополнение к общим атрибутам объектов, определенным для этого класса объектов.
Таблица 2-3. Атрибуты объектов данных
Атрибут | Тип данных | Значение |
CKA_APPLICATION | RFC2279 string | Приложение, управляющее объектом (по умолчанию пусто) |
CKA_OBJECT_ID | Byte Array | Идентификатор объекта в DER-кодировке, обозначающий тип объекта данных (по умолчанию пусто) |
CKA_VALUE | Byte Array | Значение объекта (по умолчанию пусто) |
Атрибут CKA_APPLICATION реализует средство индикации объектов данных, управляемых приложением. Однако стандартом не обеспечиваются средства гарантии того, что только указанное приложение имеет доступ к объекту данных.
Атрибут CKA_OBJECT_ID позволяет приложению самостоятельно определять типы объектов данных. Стандартом не обеспечиваются средства гарантии того того, что идентификаторы объектов данных ответствуют значениям данных.
В следующем примере реализован простой шаблон, содержащий атрибуты для создания объекта данных:
CK_OBJECT_CLASS your_class = CKO_DATA; CK_UTF8CHAR label[] = "A data object"; CK_UTF8CHAR application[] = "An application"; CK_BYTE data[] = "Sample data"; CK_BBOOL token = CK_TRUE; CK_ATTRIBUTE template[] = { {CKA_CLASS, &your_class, sizeof(your_class)}, {CKA_TOKEN, &token, sizeof(token)}, {CKA_LABEL, label, sizeof(label)-1}, {CKA_APPLICATION, application, sizeof(application)-1}, {CKA_VALUE, data, sizeof(data)} };