Развернуть все
Свернуть все

Функция CreatePSKFn

Функция создания закрытого и соответствующего ему открытого ключа на основе общего ключа.

Синтаксис

C/C++
 capi_result CAPI_EXTC CreatePSKFn (
   HCRYPTMODULE hModule,
   HCRYPTPROV hProv,
   const vblob *SitePSK,
   const vblob *SiteNetID,
   const vblob *SiteID,
   unsigned uFlags,
   PRIVKEY *hPriv,
   unsigned char *pcsadbSA,
   unsigned *pusadbSALen,
   CPC_CONFIG *config
 );

Параметры

hModule

[in] Дескриптор CSP

hProv

[in] Дескриптор контекста провайдера (CRYPT_VERIFYCONTEXT)

SitePSK

[in] PSK администратора узла сети

SiteNetID

[in] Идентификатор канала связи

SiteID

[in] Уникальный идентификатор узла сети (например, fingerprint сертификата, серийный номер или аппаратный адрес)

uFlags

[in] Должен быть равен 0 или P1_SETPSK_HCRYPT. В случае P1_SETPSK_HCRYPT параметр SitePSK воспринимается как HCRYPTKEY (симметричный экспортируемый ключ), параметр SiteNetID как HCRYPTPROV провайдер, на котором получен ключ HCRYPTKEY в PSK, параметр SiteID как HCRYPTMODULE, на котором получен HCRYPTPROV в SiteNetID.

hPriv

[out] Закрытый ключ сериализации/десериализации

pcsadbSA

[out] Транспортное представление открытого ключа сериализации/десериализации

pusadbSALen

[in/out] Размер транспортного представления открытого ключа сериализации/десериализации

config

[in] Указатель на CPC_CONFIG используемый при создании HCRYPTMODULE

Возвращаемое значение

CAPI_NOERROR Успешное завершение

CAPI_CALL_ERROR Неверные входные аргументы

CAPI_PSK_TTL_EXPIRED_ERROR Срок действия PSK истёк

CAPI_IMITA_ERROR PSK искажён (или PSK не соответствует SiteID и SiteNetID)

CAPI_PSK_ERROR PSK искажён (или PSK не соответствует SiteID и SiteNetID)

CAPI_CSP_ERROR ошибка вызова CSP

Примечания

Вырабатываемые ключи используются для сериализации и десериализации IKE сессий фазы 1.

Для запроса необходимого размера буфера, указатель на выходной буфер должен быть равен 0.

Закрытый ключ сериализации/десериализации освобождается функцией DestroyPrivKeyFn.

SEE ALSO

p1_SetPSKFn, getPSKnotAfterFn, genpsk

Требования

Заголовочный файл sadb.h
Библиотека
Минимальная версия продукта 1.0