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

Указатель Структуры данных Файлы Функции Переменные Определения типов
Rutoken rtengine Документация

OpenSSL – мощный и современный криптографический пакет с открытым исходным кодом, в котором реализованы различные криптографические алгоритмы, форматы и протоколы, что позволяет использовать OpenSSL для широкого круга прикладных задач. OpenSSL является основным криптопровайдером для приложений Open Source.

rtengine – специальная библиотека для поддержки российских криптографичеких алгоритмов ГОСТ.

## Начало использования

Для того, чтобы начать использовать rtengine, необходимо в настройках проекта добавить путь до каталога с заголовочными файлами библиотеки и включить заголовочный файл rutoken/`engine.h`. Приложение должно быть слинковано с динамической библиотекой rtengine.

Для создания и регистрации в OpenSSL экземпляра rtengine необходимо вызвать функцию rt_eng_init. Данная функция вызывается без параметров и возвращает 1 в случае успеха и 0 в случае ошибки. Для получения описателя созданного экземпляра rtengine необходимо вызвать функцию rt_eng_get0_engine. Функция вызывается без параметров и возвращает описатель экземпляра rtengine в случае успеха и NULL в случае ошибки. Функция ENGINE_set_default устанавливает соответствие между вызовом алгоритмов из OpenSSL и реализацией данных алгоритмов, используемых по умолчанию. Первым параметром данная функция принимает описатель типа ENGINE*, в качестве которого необходимо передать описатель экземпляра rtengine. Вторым параметром - принимает набор флагов использования данного engine.

## Токены

rtengine с помощью библиотеки rtPKCS11ECP позволяет использовать в OpenSSL ключевые пары, находящиеся на токене.