В чем разница между DisabledByDefault и Enabled SSL / TLS ключи реестра на Microsoft Windows?

голоса
3

Microsoft предоставляет передовую практику руководство по Transport Layer Security (TLS). В этом документе описаны ключи реестра, которые можно включить или отключить конкретный протокол.

https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls#configuring-schannel-protocols-in-the-windows-registry

Например, чтобы включить TLS 1.2, вы можете добавить следующие ключи реестра.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]
DisabledByDefault=dword:00000000
Enabled=dword:FFFFFFFF

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]
DisabledByDefault=dword:00000000
Enabled=dword:FFFFFFFF

В чем разница между DisabledByDefaultи Enabled? Они , кажется излишним.

Задан 18/07/2018 в 14:11
пользователем
На других языках...                            


2 ответов

голоса
3

DisabledByDefault и Enabled не являются избыточными

Если DisabledByDefaultфлаг установлен в 1, SSL / TLS версии X не используется по умолчанию. Если запросы приложение SSPI , чтобы использовать эту версию SSL / TLS, он будет обсуждаться. В двух словах, SSL не отключается при использовании DisabledByDefaultфлага.

Если Enabledфлаг установлен в 0, SSL / TLS версия X отключена и не может быть nagotiated любым приложением ССПИ (даже если DisabledByDefaultфлаг установлен в 0).

Для получения дополнительной информации, документация Microsoft описывает , какая версия SSL поддерживается или нет, и как вывести его из строя.

Ответил 22/08/2018 в 07:02
источник пользователем

голоса
1

В SCHANNEL_CREDструктуре , которая передается AcquireCredentialsHandleкак часть создания защищенного канала , можно дополнительно вручную выбрать протоколы для поддержки, в grbitEnabledProtocolsполе битовой маски.

Таким образом, Enabledопределяет , какие протоколы вы можете включить здесь , пока DisabledByDefaultуказывает, включен ли протокол , если опустить это поле (т.е. оставить его в качестве 0).

  • Управление SSL / TLS протоколы и шифров для AD FS | Microsoft Docs статья рекомендует установить DisabledByDefaultдля 1протоколов инвалидов, также, в дополнение к установке Enabledв 0. Так , похоже , DisabledByDefaultиспользуется безусловно автоматического создания значения для этого поля , если он опущен.

Примечание поля говорит , что это не рекомендуется для использования в новом коде. Таким образом , эти два значения реестра почти излишнее:

Для разработки нового приложение необходимо установить grbitEnabledProtocolsна ноль и использовать версии протокола включен в системе по умолчанию.

Этот элемент используется только протокол безопасности пакета Microsoft Unified Provider безопасности.

Глобальные настройки системного реестра имеют приоритет над этим значением. Например, если SSL3 отключен в реестре, она не может быть включена с помощью этого элемента.

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

Ответил 22/08/2018 в 10:00
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more