Заголовочный файл с описанием функций и структур для управления сессиями и ключами.
Подробнее...
#include <openssl/evp.h>
#include <cryptoki.h>
#include "mutex.h"
|
|
typedef struct rt_eng_p11_session_st | rt_eng_p11_session |
| | Описатель обернутой сессии
|
| |
|
| int | rt_eng_md_add1_p11_session (EVP_MD_CTX *ctx, rt_eng_p11_session *session) |
| | Функция добавления в контекст хэширования PKCS11 сессии. Если в контекст была добавлена хотя бы одна сессия, хэш будет посчитан на токене. При добавлении нескольких сессий в один контекст хэш будет посчитан для каждой из них. При хэшировании на токене данные накапливаются в буфере до вызова final. Подробнее...
|
| |
| int | rt_eng_p11_key_pair_invalidate (EVP_PKEY *pkey) |
| | Данная функция делает описатель ключевой пары недействительным. При использовании ключевой пары, находящейся на токене, могут возникать ситуации, при которых описатель объектов на токене становится более не актуальным, например при сбросе прав доступа к объектам на токене или при физическом удаление ключа из памяти токена. Во избежании неопределённого поведения описатель ключевой пары необходимо делать недействительным. Подробнее...
|
| |
| EVP_PKEY * | rt_eng_p11_key_pair_wrap (rt_eng_p11_session *session, CK_OBJECT_HANDLE private_key, CK_OBJECT_HANDLE public_key) |
| | Получение описателя ключевой пары. Подробнее...
|
| |
|
void | rt_eng_p11_session_free (rt_eng_p11_session *session) |
| | Функция удаления сессии.
|
| |
| int | rt_eng_p11_session_lock (rt_eng_p11_session *session) |
| | Функция блокирования сессии. Подробнее...
|
| |
| int | rt_eng_p11_session_unlock (rt_eng_p11_session *session) |
| | Функция освобождения сессии. Подробнее...
|
| |
| int | rt_eng_p11_session_up_ref (rt_eng_p11_session *session) |
| | Функция увеличения счётчика ссылок. Подробнее...
|
| |
| rt_eng_p11_session * | rt_eng_p11_session_wrap (CK_FUNCTION_LIST_PTR function_list, CK_SESSION_HANDLE handle, int hold, const rt_eng_mutex *mutex) |
| | Функция создания сессии. Подробнее...
|
| |
◆ rt_eng_md_add1_p11_session()
- Аргументы
-
| ctx | – контекст хэширования. |
| session | – описатель обёрнутой сессии. |
- Возвращает
- 1 в случае успеха, 0 в случае ошибки.
◆ rt_eng_p11_key_pair_invalidate()
| int rt_eng_p11_key_pair_invalidate |
( |
EVP_PKEY * |
pkey | ) |
|
- Аргументы
-
| pkey | – описатель ключевой пары. |
- Возвращает
- 1 в случае успеха, 0 в случае ошибки.
◆ rt_eng_p11_key_pair_wrap()
| EVP_PKEY * rt_eng_p11_key_pair_wrap |
( |
rt_eng_p11_session * |
session, |
|
|
CK_OBJECT_HANDLE |
private_key, |
|
|
CK_OBJECT_HANDLE |
public_key |
|
) |
| |
- Аргументы
-
| session | – описатель обёрнутой сессии. |
| private_key | (необязательный) – описатель закрытого ключа, полученный от rtpkcs11ecp. Если для работы приложения отсутствует необходимость использовать закрытый ключ, то следует установить данный параметр в значение CK_INVALID_HANDLE. |
| public_key | – описатель открытого ключа, полученный от rtpkcs11ecp. |
- Возвращает
- описатель ключевой пары в случае успеха, NULL в случае ошибки.
◆ rt_eng_p11_session_lock()
- Возвращает
- 1 в случае успеха, 0 в случае ошибки.
◆ rt_eng_p11_session_unlock()
- Возвращает
- 1 в случае успеха, 0 в случае ошибки.
◆ rt_eng_p11_session_up_ref()
- Возвращает
- 1 в случае успеха, 0 в случае ошибки.
◆ rt_eng_p11_session_wrap()
- Аргументы
-
| function_list | – список функций, полученных от rtpkcs11ecp. |
| handle | – описатель сессии, полученной от rtpkcs11ecp. |
| hold | – параметр передачи прав управления сессией. При его равенстве 1, сессия будет закрыта средствами OpenSSL при удалении описателя. При его равенстве 0, сессия должна быть закрыта пользователем самостоятельно. |
| mutex | – внешний мьютекс для управления сессией. Для использования внутреннего мьютекса необходимо передать NULL. |
- Возвращает
- описатель обёрнутой сессии в случае успеха, NULL в случае ошибки.