Функция SslEnumCipherSuites
Функция SslEnumCipherSuites перечисляет комплекты шифров, поддерживаемые поставщиком протокола SSL.
Синтаксис
SECURITY_STATUS WINAPI SslEnumCipherSuites(
_In_ NCRYPT_PROV_HANDLE hSslProvider,
_In_opt_ NCRYPT_KEY_HANDLE hPrivateKey,
_Out_ NCRYPT_SSL_CIPHER_SUITE **ppCipherSuite,
_Inout_ PVOID *ppEnumState,
_In_ DWORD dwFlags
);
Параметры
-
hSslProvider [in]
-
Дескриптор экземпляра поставщика протокола SSL.
-
hPrivateKey [in, необязательный]
-
Дескриптор закрытого ключа. Если указан закрытый ключ, SslEnumCipherSuites перечисляет комплекты шифров, совместимые с закрытым ключом. Например, если закрытый ключ является ключом DSS, возвращаются только DSS_DHE комплекты шифров. Если закрытый ключ является ключом RSA, но он не поддерживает необработанные операции расшифровки, комплекты шифров SSL2 не возвращаются.
Если закрытый ключ не указан, задайте для этого параметра значение NULL .
Примечание
Дескриптор hPrivateKey получается путем вызова функции SslOpenPrivateKey . Дескрипторы, полученные из функции NCryptOpenKey , не поддерживаются.
-
ppCipherSuite [out]
-
Указатель на структуру NCRYPT_SSL_CIPHER_SUITE для получения адреса следующего набора шифров в списке.
-
ppEnumState [in, out]
-
Указатель на буфер, указывающий текущее положение в списке комплектов шифров.
При первом вызове SslEnumCipherSuites задайте для указателя значение NULL. При каждом последующем вызове передайте неизмененные значения обратно в SslEnumCipherSuites.
Если наборов шифров больше нет, следует освободить ppEnumState , вызвав функцию SslFreeBuffer .
-
dwFlags [in]
-
Этот параметр зарезервирован для использования в будущем.
Возвращаемое значение
Если функция завершается успешно, она возвращает ноль.
Если функция завершается сбоем, она возвращает ненулевое значение ошибки.
Возможные коды возврата включают, помимо прочего, следующие.
Возвращаемый код/значение | Описание |
---|---|
|
Недостаточно памяти для выделения необходимых буферов. |
|
Один из предоставленных дескрипторов недопустим. |
|
Дополнительные комплекты шифров не поддерживаются. |
Комментарии
Чтобы перечислить все комплекты шифров, поддерживаемые поставщиком SSL, вызовите функцию SslEnumCipherSuites в цикле, пока не будет возвращено NTE_NO_MORE_ITEMS .
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista [только классические приложения] |
Минимальная версия сервера |
Windows Server 2008 [только классические приложения] |
Заголовок |
|
Библиотека |
|
DLL |
|