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;
}