Функция Сслекспорткэй

Функция сслекспорткэй SSL возвращает ключ сеанса SSL или открытый эфемерный ключ в сериализованный большой двоичный объект.

Синтаксис

SECURITY_STATUS WINAPI SslExportKey(
  _In_      NCRYPT_PROV_HANDLE hSslProvider,
  _In_      NCRYPT_KEY_HANDLE  hKey,
  _In_      LPCWSTR            pszBlobType,
  _Out_opt_ PBYTE              pbOutput,
  _In_      DWORD              cbOutput,
  _Out_     DWORD              *pcbResult,
  _In_      DWORD              dwFlags
);

Параметры

хсслпровидер [ окне]

Маркер экземпляра поставщика протокола SSL.

hKey [ окне]

Маркер экспортируемого ключа.

Если ключ не указан, присвойте этому параметру значение NULL.

Примечание

Для получения маркера hKey вызывается функция сслопенприватекэй . Дескрипторы, полученные от функции нкриптопенкэй , не поддерживаются.

псзблобтипе [ окне]

Строка в Юникоде, заканчивающаяся нулем и содержащая идентификатор, указывающий тип большого двоичного объекта для экспорта. Это может быть одно из следующих значений.

Значение Значение
_ _ открытый _ большой двоичный объект BCRYPT DH
Экспорт Diffie-Hellman открытого ключа. Буфер пбаутпут сразу же получает структуру _ _ _ больших двоичных объектов ключа Диффи-Хелмана , за которой следуют данные ключа.
_BLOB- _ объект еккпублик BCRYPT
Экспорт открытого ключа шифрования на основе эллиптических кривых (ECC). Буфер пбаутпут сразу же получает структуру _ _ больших двоичных объектов екккэй BCRYPT , за которой следуют данные ключа.
_ _ большой двоичный объект непрозрачного ключа BCRYPT _
Экспорт симметричного ключа в формате, характерном для одного поставщика служб шифрования (CSP). Непрозрачные BLOB-объекты не передаются и должны быть импортированы с помощью того же поставщика служб шифрования (CSP), который создал большой двоичный объект.
_BLOB- _ объект рсапублик BCRYPT
Экспорт открытого ключа RSA. Буфер пбаутпут сразу же получает структуру _ _ больших двоичных объектов RSAKEY BCRYPT , за которой следуют данные ключа.

пбаутпут [ out, необязательно]

Адрес буфера, который получает большой двоичный объект ключа. Параметр кбаутпут содержит размер этого буфера. Если этот параметр имеет значение NULL, эта функция поместит требуемый размер (в байтах) в DWORD , на который указывает параметр пкбресулт .

кбаутпут [ окне]

Размер (в байтах) буфера пбаутпут .

пкбресулт [ заполняет]

Адрес переменной типа DWORD , которая получает число байтов, скопированных в буфер пбаутпут . Если при вызове функции для параметра пбаутпут задано значение NULL , то необходимый размер буфера пбаутпут в байтах возвращается в DWORD , на который указывает этот параметр.

dwFlags [ окне]

Зарезервировано для последующего использования.

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

Если функция завершается с ошибкой, она возвращает ноль.

Если функция завершается ошибкой, она возвращает ненулевое значение ошибки.

Возможные коды возврата включают, но не ограничиваются следующим.

Возвращаемый код и значение Описание
Не
превышать _ Недопустимый 0x80090026L _ Handle
Один из указанных дескрипторов недопустим.

Remarks

Функция сслекспорткэй упрощает перенос ключей сеанса из одного процесса в другой, а также экспорт открытой части в эфемерный ключ.

При экспорте ключей сеанса тип большого двоичного объекта является непрозрачным, а это означает, что формат большого двоичного объекта не имеет значения, если только функции сслекспорткэй и сслимпорткэй могут интерпретировать его.

При экспорте открытой части эфемерного ключа тип большого двоичного объекта должен иметь соответствующий тип, например NCrypt _ DH _ Public _ BLOB или NCrypt _ еккпублик _ BLOB.

Требования

Требование Значение
Минимальная версия клиента
Windows [Только классические приложения Vista]
Минимальная версия сервера
Windows Только для [ настольных приложений сервера 2008]
Заголовок
Сслпровидер. h
DLL
Ncrypt.dll