C_CreateObject
¶C_CreateObject
(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount, CK_OBJECT_HANDLE_PTR phObject)¶Параметры: |
|
---|
Создает объект с заданными атрибутами. Объекты создаются на токене, либо в памяти Единой библиотеки (например, временные объекты).
Подробную информацию по работе с объектами для каждого апплета смотрите в приложении.
Запускается в режимах
Для Криптотокен 2 ЭП:
CKO_PUBLIC_KEY
или CKO_SECRET_KEY
с атрибутом CKA_TOKEN
равном CK_FALSE
.Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_DestroyObject
¶C_DestroyObject
(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject)¶Параметры: |
|
---|
Удаляет объект с токена или из памяти ЕБ.
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_GetAttributeValue
¶C_GetAttributeValue
(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)¶Параметры: |
|
---|
Получает значение одного или нескольких атрибутов для указанного объекта.
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_SetAttributeValue
¶C_SetAttributeValue
(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE hObject, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)¶Параметры: |
|
---|
Устанавливает значение одного или нескольких атрибутов для указанного объекта.
Примечание
Значение атрибута CKA_VALUE
должно быть представлено в формате от младшего к старшему (little
endian).
Запускается в режимах
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_FindObjectsInit
¶C_FindObjectsInit
(CK_SESSION_HANDLE hSession, CK_ATTRIBUTE_PTR pTemplate, CK_ULONG ulCount)¶Параметры: |
|
---|
Инициализирует поиск объектов, которые совпадают с заданным шаблоном.
Запускается в режимах
См.также
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_FindObjects
¶C_FindObjects
(CK_SESSION_HANDLE hSession, CK_OBJECT_HANDLE_PTR phObject, CK_ULONG ulMaxObjectCount, CK_ULONG_PTR pulObjectCount)¶Параметры: |
|
---|
Ищет объекты, которые совпадают с заданным шаблоном.
Запускается в режимах
См.также
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
C_FindObjectsFinal
¶C_FindObjectsFinal
(CK_SESSION_HANDLE hSession)¶Параметры: |
|
---|
Завершает поиск объектов.
Запускается в режимах
См.также
Результат: |
Совет Полный список ошибок см. в приложении. |
---|
Для обеспечения успешного поиска объектов, необходимо, чтобы в алгоритме были последовательно использованы все три функции.
Пример поиска объектов на языке C:
// задаем шаблон поиска сертификата
CK_ATTRIBUTE certSearchAttribs[] =
{
{ CKA_CLASS, &certClass, sizeof(certClass) }, // тип объекта
{ CKA_TOKEN, &bTrue, sizeof(bTrue) }, // объект на токене
{ CKA_LABEL, (CK_VOID_PTR)labelCert.c_str(), labelCert.size() }, // метка объекта
};
CK_OBJECT_HANDLE certHandle = 0;;
CK_ULONG certObjCount = 0;
// начинаем поиск объект с заданными атрибутами
rv = C_FindObjectsInit(session,
certSearchAttribs,
sizeof(certSearchAttribs) / sizeof(CK_ATTRIBUTE));
if (rv != CKR_OK)
{
PrintError("C_FindObjectsInit", rv);
return;
}
// нам нужен один объект
rv = C_FindObjects(session, &certHandle, 1, &certObjCount);
if (rv != CKR_OK || ulObjectCount == 0)
{
PrintError("C_FindObjects", rv);
}
// завершаем поиск
rv = C_FindObjectsFinal(session);
if (rv != CKR_OK)
{
PrintError("C_FindObjectsFinal", rv);
return;
}