Структура инициализации и настройки провайдера уровня ядра ОС.
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