Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для обмена данными между клиентом и сервером поведение Schannel по умолчанию заключается в согласовании наилучших доступных шифров, основанных на тех, которые включены в системный реестр. Приложения могут ограничить допустимые шифры и их уровни для подключения, используя элементы структуры SCHANNEL_CRED следующим образом:
- Задайте элемент palgSupportedAlgs в массив ALG_ID, содержащий допустимые шифры. Дополнительные сведения см. в разделе "Идентификаторы шифров".
- Задайте члены dwMinimumCipherStrength и/или dwMaximumCipherStrength на допустимые минимальные и максимальные значения. Дополнительные сведения см. в разделе "Значения силы шифра".
- Передайте структуру SCHANNEL_CRED (с помощью параметра pAuthData) в вызове функции AcquireCredentialsHandle. Эта функция возвращает дескриптор учетных данных.
- Укажите дескриптор учетных данных в вызове клиентской функции InitializeSecurityContext (General) или серверной функции AcceptSecurityContext (General).
Идентификаторы шифров
Поведение Schannel по умолчанию — запрашивать лучший шифр, доступный на основе записей Schannel в системном реестре. Не изменяйте системный реестр; Параметры, содержащиеся в Schannel, используются глобально и влияют на другие приложения. Список допустимых констант см. в ALG_ID.
Значения силы шифра
Эта функция Schannel обычно используется для ограничения соединения к шифрам внутренней или экспортной степени защиты. Внутренние показатели включают 56 и 128 бит, в то время как показатели экспорта ограничены 56 битами. Если минимальные и максимальные значения заданы как нули, Schannel будет использовать все доступные шифры.
Используя ПРОТОКОЛ TLS или SSL 3.0, задайте элементу dwMinimumCipherStrength значение -1 (отрицательное значение), чтобы включить наборы шифров NULL, которые предоставляют подписи, но не шифры. Если dwMaximumCipherStrength также задано значение -1, то будут включены только наборы шифров "Null Cipher". Этот параметр предназначен только для разработки и не должен использоваться в рабочих системах.
Запрос сведений о шифре
Чтобы получить параметры силы шифра для учетных данных, вызовите функциюQueryCredentialsAttributes и укажите SECPKG_ATTR_CIPHER_STRENGTHS в качестве параметра ulAttribute.
Чтобы получить список поддерживаемых алгоритмов для учетных данных, вызовите QueryCredentialsAttributes с SECPKG_ATTR_SUPPORTED_ALGS в качестве параметра ulAttribute.