КриптоПро CSP  

CPC_CONFIG_

Структура инициализации и настройки провайдера уровня ядра ОС.

typedef struct CPC_CONFIG_ {
DWORD cbSize;
LPCPC_MEMORY_ARENA pArena;
CPC_FAST_CODE FuncStruct;
CPC_LOG_CONFIG logConfig;
CPC_HARDWARE_RNG hardwareRNG;
CPC_INTERLOCKED_FUNCS interlockedFuncs;
CPC_LOCK_FUNCS lockFuncs;
CPC_TIME_FUNCS timeFuncs;
CPC_ALG_PARAMS algParams;
DWORD MaxHandles;
DWORD dwTesterPeriod;
DWORD dwTesterTimeout;
BOOL fNonSMP;
const TCHAR * license; } CPC_CONFIG, *LPCPC_CONFIG;

Члены

cbSize
Размер структуры. Должна быть равна sizeof (CPC_CONFIG).
pArena
Менеджер памяти (указатель на структуру CPC_MEMORY_ARENA_). Может быть создан с помощью функции CPCInitMemoryLF, или самостоятельно. Заполняется всегда.
FuncStruct
Функции захвата и освобождения расширений MMX/SSE2/SSSE3/AVX (структура CPC_FAST_CODE), а так же конфигурация их использования. Заполняется только на процессорах с архитектурой ia32/amd64.
logConfig
Настройки журнала (структура CPC_LOG_CONFIG_). Заполняется всегда.
hardwareRNG
Настройки аппаратного ДСЧ (структура CPC_HARDWARE_RNG_). Обязателен к заполнению в приложениях, удовлетворяющих требованиям KC2 или использующих CPCSetProvParam с аргументом PP_USE_HARDWARE_RNG.
interlockedFuncs
Настройки примитивов синхронизации (Структура CPC_INTERLOCKED_FUNCS_). Заполняется только на процессорах ARM и sparc-v8 (32).
lockFuncs
Настройки ждущих блокировок (Структура CPC_LOCK_FUNCS_). Рекомендуется к заполнению в приложениях, не обеспечивающих самостоятельно сериализацию доступа к провайдеру.
timeFuncs
Настройки работы со временем (Структура CPC_TIME_FUNCS_). Обязательна к заполнению.
algParams
Настройки параметров алгоритмов (Указатель на структуру CPC_ALG_PARAMS_). Опционально. Если заполнено нулями, используются параметры по умолчанию.
MaxHandles
Размер таблицы дескрипторов объектов (HANDLE). Максимальное количество дескрипторов в два раза меньше размера таблицы. Опционально, если равно нулю, устанавливается в 1048576 (32768 для мобильных платформ iOS, Андроид, CE).
dwTesterPeriod
Интервал самотестирования (в секундах). Опционально. Если равен нулю, используется DEF_TESTER_PERIOD (600). Установить период тестирования более MAX_TESTER_PERIOD = 15 минут нельзя. В Win32 user mode считывается значение TesterPeriod из ключа "Software\\Crypto Pro\\Cryptography\\CurrentVersion\\Parameters" раздела реестра HKEY_LOCAL_MACHINE.
dwTesterTimeout
Максимальный интервал самотестирования (в секундах). Опционально. Если равен нулю, используется MAX_TESTER_PERIOD (900) В Win32 user mode считывается значение TesterTimeout из ключа "Software\\Crypto Pro\\Cryptography\\CurrentVersion\\Parameters" раздела реестра HKEY_LOCAL_MACHINE.
fNonSMP
license
Строка, содержащая лицензию на продукт (94 символа, заканчивающиеся нулём). Заполняется всегда.

См. также

CPCCreateProvider