- Титульная страница
- Структуры данных
- Файлы

- Файлы
- Список членов всех файлов

Указатель Структуры данных Файлы Функции Переменные Определения типов
Структуры данных | Определения типов | Функции
Файл p11.h

Заголовочный файл с описанием функций и структур для управления сессиями и ключами. Подробнее...

`#include <openssl/evp.h>`
`#include <cryptoki.h>`
`#include "mutex.h"`

## Структуры данных
struct | rt_eng_p11_session
| Структура для хранения pkcs11 сессии и её таблицы функций. Подробнее...
struct | rt_eng_p11_session_vtable_st
| Таблица функций сессии. Подробнее...

## Определения типов
typedef struct rt_eng_p11_session_vtable_st | rt_eng_p11_session_vtable
| Структура для хранения таблицы функций сессии.

## Функции
int | rt_eng_invalidate_p11_ossl_evp_pkey (EVP_PKEY *pkey)
| Данная функция делает описатель ключевой пары недействительным. При использовании ключевой пары, находящейся на токене, могут возникать ситуации, при которых описатель объектов на токене становится более не актуальным, например при сбросе прав доступа к объектам на токене или при физическом удаление ключа из памяти токена. Во избежании неопределённого поведения описатель ключевой пары необходимо делать недействительным. Подробнее...
EVP_PKEY * | rt_eng_new_p11_ossl_evp_pkey (rt_eng_p11_session session, CK_OBJECT_HANDLE private_key, CK_OBJECT_HANDLE public_key)
| Получение описателя ключевой пары. Подробнее...
rt_eng_p11_session | rt_eng_p11_session_new (CK_FUNCTION_LIST_PTR function_list, CK_SESSION_HANDLE handle, int hold, rt_eng_mutex_new_t mutex_new)
| Функция создания сессии. Подробнее...
rt_eng_p11_session | rt_eng_p11_session_new_null (void)
| Функция создания пустой сессии. Подробнее...
int | rt_eng_rand_set0_p11_session (rt_eng_p11_session session)
| Установка текущей сессии для получения энтропии. Подробнее...

## Функции

int rt_eng_invalidate_p11_ossl_evp_pkey | ( | EVP_PKEY * | pkey | ) |

Аргументы

  pkey | – описатель ключевой пары.

Возвращает
  1 в случае успеха, 0 в случае ошибки.

EVP_PKEY* rt_eng_new_p11_ossl_evp_pkey | ( | rt_eng_p11_session | session,
|  | CK_OBJECT_HANDLE | private_key,
|  | CK_OBJECT_HANDLE | public_key
| ) |  |

Аргументы

  session | – описатель обёрнутой сессии.
  private_key | (необязательный) – описатель закрытого ключа, полученный от rtpkcs11ecp. Если для работы приложения отсутствует необходимость использовать закрытый ключ, то следует установить данный параметр в значение NULL.
  public_key | – описатель открытого ключа, полученный от rtpkcs11ecp.

Возвращает
  описатель ключевой пары в случае успеха, NULL в случае ошибки.

rt_eng_p11_session rt_eng_p11_session_new | ( | CK_FUNCTION_LIST_PTR | function_list,
|  | CK_SESSION_HANDLE | handle,
|  | int | hold,
|  | rt_eng_mutex_new_t | mutex_new
| ) |  |

Аргументы

  function_list | – список функций, полученных от rtpkcs11ecp.
  handle | – описатель сессии, полученной от rtpkcs11ecp.
  hold | – параметр передачи прав управления сессией. При его равенстве 1, сессия будет закрыта средствами OpenSSL при завершении работы. При его равенстве 0, сессия должна быть закрыта пользователем самостоятельно.
  mutex_new | (необязательный) – мьютекс для управления сессией. При отсутствии необходимости его использования, устанавливается в значение NULL.

Возвращает
  описатель обёрнутой сессии в случае успеха, NULL в случае ошибки.

rt_eng_p11_session rt_eng_p11_session_new_null | ( | void |  | ) |

Возвращает
  описатель обёрнутой сессии в случае успеха, NULL в случае ошибки.

int rt_eng_rand_set0_p11_session | ( | rt_eng_p11_session | session | ) |

Аргументы

  session | – описатель обёрнутой сессии.

Возвращает
  1 в случае успеха, 0 в случае ошибки.