Заголовочный файл: sadb.h
Библиотека: libike_gost.so (linux), cpike_api.dll (windows)
Библиотека: libike_gost.so (linux), cpike_api.dll (windows)
Функция создания закрытого ключа и соответствующего ему открытого ключа на основе ключа в контексе контейнера.
Синтаксис
C/C++ | Copy Code |
---|---|
capi_result CAPI_EXTC CreateProvFn ( HCRYPTMODULE hModule, HCRYPTPROV hProv, unsigned uFlags, PRIVKEY & hPriv, unsigned char *pcsadbSA, unsigned *pusadbSALen ); |
Параметры
- hModule
- [in] Дескриптор CSP (используется только в ядре)
- hProv
- [in] Дескриптор контекста контейнера, с ключом AT_KEYEXCHANGE
- uFlags
- [in] Зарезервировано для будущего использования. Должен быть равен 0
- hPriv
- [out] Закрытый ключ сериализации/десериализации
- pcsadbSA
- [out] Транспортное представление открытого ключа сериализации/десериализации
- pusadbSALen
- [in/out] Размер транспортного представления открытого ключа сериализации/десериализации
Возвращаемое значение
CAPI_NOERROR Успешное завершение
CAPI_CALL_ERROR Неверные входные аргументы
CAPI_CSP_ERROR Криптографическая ошибка обработки входных данных
Примечания
Вырабатываемые ключи используются для сериализации и десериализации IKE сессий фазы 1.
Для запроса необходимого размера буфера, указатель на выходной буфер должен быть равен 0.
Закрытый ключ сериализации/десериализации освобождается функцией DestroyPrivKeyFn.