Функция инициализации библиотеки ESP.
Синтаксис
capi_result CAPI_EXTC cpesp_init_gost ( esp_gost_handle h, const struct esp_gost_in *in, unsigned uFlags, struct esp_gost_out *out );
Параметры
- h
-
[out] Дескриптор библиотеки ESP, заполняется таблицей функций ESP_GOST при успешном вызове
- in
-
[in] Указатель на структуру esp_gost_in, которая должна быть заполнена
- uFlags
-
[in] Зарезервировано для будущего использования. Должен быть равен 0
- out
-
[out] Указатель на структуру esp_gost_out, которая будет заполнена при успешном вызове
Возвращаемое значение
CAPI_NOERROR Успешное завершение (дескриптор библиотеки ESP заполнен таблицей функций ESP_GOST)
CAPI_CALL_ERROR Неверные входные аргументы
CAPI_NOT_ENOUGH_SPACE Размер буфера h недостаточен (см. requiredMem в esp_gost_out)
CAPI_INTERNAL_ERROR Внутренняя ошибка библиотеки
Примечания
Типичная инициализация библиотеки ESP происходит с помощью вызова функции cpesp_init_gost 2 раза: на первом вызове, функция определяет потребности в памяти для работы. На втором вызове, получив требуемую память, выполняет инициализацию библиотеки.
Потребности памяти в пулах CSP уровня ядра ОС при работе с реализацией ESP:
-
MP_PRIME_M, MP_SEC_M и MP_BIG не более 2048*<Количество SPI> + 1048576;
-
MP_WORK не более 65536*<Количество SPI> + 5242880;
-
MP_WORK_M не более 131072;
Таким образом, при инициализации LFMM рекомендуется:
-
PoolSizes[MP_PRIME_M] += 2*1024 * (MAX_SESSIONS) + 1024*1024;
-
PoolSizes[MP_SEC_M] += 2*1024 * (MAX_SESSIONS) + 1024*1024;
-
PoolSizes[MP_BIG] += 2*1024 * (MAX_SESSIONS) + 1024*1024;
-
PoolSizes[MP_WORK] += 64*1024 * (MAX_SESSIONS) + 5*1024*1024;
-
PoolSizes[MP_WORK_M] += 128*1024;
Использование дескрипторов реализацией ESP в ядре ОС:
-
Каждый SPI использует не более 20 дескрипторов;
-
Каждый PRIVKEY использует не более 10 дескрипторов;
Таким образом, если значение по умолчанию (1000000 (~50000 сессий)) не подходит, следует самостоятельно инициализировать переменную CPC_CONFIG.MaxHandles.
Требования
Заголовочный файл | esp_gost.h |
---|---|
Библиотека | |
Минимальная версия продукта | 1.0 |