Как отключить TLS 1.0 на Windows Server 2012, имеющей 4.5 .Net Framework, используя ключи реестра

Может ли кто-нибудь предоставить решение для отключения TLS 1.0 в качестве протокола по умолчанию в Windows Server 2012 Standard с установленным на машине 4.5 .Net Framework. Приложение, запущенное на сервере, имеет целевую платформу.NET 4.5 и устанавливает соединение с другим сервером, на котором включен только TLS 1.2.

Я попытался установить следующие реестры, но он все еще выполняет вызов на TLS1.0:

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

[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ Protocols \ TLS 1.2 \ Server] "Включено"=dword:00000001 "DisabledByDefault"=dword:00000000

Сайт документации Microsoft только перечисляет исправления в коде, устанавливая протокол безопасности, как показано ниже

System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

Но есть ли способ добиться этого через реестр?

1 ответ

Для тех, у кого похожие проблемы:

Откройте PowerShell запустить от имени администратора:

Обратите внимание на ответ

Ssl3, Tls

выполните следующие 2 команды в Powershell Set-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft.NetFramework\v4.0.30319' -Name 'SchUseStrongCrypto' -Value '1' -Тип DWord

Set-ItemProperty -Path 'HKLM: \ SOFTWARE \ Wow6432Node \ Microsoft.NetFramework \ v4.0.30319' -Name 'Sc hUseStrongCrypto' -Value '1' -Тип DWord

Закройте PowerShell, снова откройте при запуске администратора. Теперь обратите внимание на вывод, система будет работать без использования этого кода в коде System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12;

Ouput: Tls, Tls11, Tls12

Отключите Tls1 на Os, и он будет согласовывать Tls12, если доступно

Другие вопросы по тегам