Блог

В этой статье рассмотрим, как включить протокол Transport Layer Security (TLS 1.2) в различных версиях Windows, включая поддержку приложений .Net и WinHTTP. TLS 1.0 и TLS 1.1 являются устаревшими, поэтому важно обеспечить поддержку TLS 1.2 на всех клиентах и серверах Windows.

Приобрести оригинальные ключи активации Windows 7 можно у нас в каталоге от 1099 ₽

В современных версиях Windows (11, 10, 8.1 и Windows Server 2022/2019/2016/2012R2) протокол TLS 1.2 включен по умолчанию. Однако для включения TLS 1.2 в Windows 7, Windows Server 2008R2 и Windows Server 2012 необходимо выполнить несколько предварительных настроек.

Включение TLS 1.2 в Windows 7

1. Установите SP1 для Windows 7, если он ещё не установлен.

2. Скачайте и установите обновление KB3140245 из Microsoft Update Catalog.

3. Скачайте и установите патч MicrosoftEasyFix51044.msi, который добавляет параметры реестра, необходимые для поддержки TLS 1.2 в Windows 7/2008R2/2012.

4. Перезагрузите компьютер.

Эти действия добавят необходимые параметры реестра, такие как DisabledByDefault = 0 и Enabled = 1 в ветки HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client и Server.

Для приложений, использующих WinHttp API, нужно добавить параметр DefaultSecureProtocols = 0x00000A00 в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp

(для 64-битной версии Windows — в ветку HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp).

Возможные значения DefaultSecureProtocols:

0x00000A0 — разрешает SSL 3.0 и TLS 1.0;

0x0000AA0 — разрешает использовать TLS 1.1 и TLS 1.2;

0x00000A00 — разрешает только TLS 1.1 и TLS 1.2;

0x00000800 — разрешает только TLS 1.2.

PowerShell скрипт для настройки реестра:


$reg32bWinHttp = "HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp"
$reg64bWinHttp = "HKLM:\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp"
$regWinHttpDefault = "DefaultSecureProtocols"
$regWinHttpValue = "0x00000800"
$regTLS12Client = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client"
$regTLS12Server = "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server"
$regTLSDefault = "DisabledByDefault"
$regTLSValue = "0x00000000"
$regTLSEnabled = "Enabled"
$regTLSEnableValue = "0x00000001"

Для Windows x86:


$test = Test-Path -Path $reg32bWinHttp
if(-not($test)){
New-Item -Path $reg32bWinHttp
}
New-ItemProperty -Path $reg32bWinHttp -Name $regWinHttpDefault -Value $regWinHttpValue -PropertyType DWORD

Для Windows x64:


$test = Test-Path -Path $reg64bWinHttp
if(-not($test)){
New-Item -Path $reg64bWinHttp
}
New-ItemProperty -Path $reg64bWinHttp -Name $regWinHttpDefault -Value $regWinHttpValue -PropertyType DWORD

New-Item -Path "HKLM:\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2"
New-Item -Path $regTLS12Client
New-Item -Path $regTLS12Server
New-ItemProperty -Path $regTLS12Client -Name $regTLSDefault -Value $regTLSValue -PropertyType DWORD
New-ItemProperty -Path $regTLS12Client -Name $regTLSEnabled -Value $regTLSEnableValue -PropertyType DWORD
New-ItemProperty -Path $regTLS12Server -Name $regTLSDefault -Value $regTLSValue -PropertyType DWORD
New-ItemProperty -Path $regTLS12Server -Name $regTLSEnabled -Value $regTLSEnableValue -PropertyType DWORD

Перезагрузите компьютер:

Restart-Computer

Включение TLS 1.2 для приложений .NET Framework

Чтобы включить TLS 1.2 для приложений на .NET Framework, нужно в реестре включить использование системных протоколов шифрования для версий .NET 3.5 и 4.x. Если вы используете NET Framework 4.5.1 или 4.5.2 на Windows Server 2012 R2/2012 или Windows 8.1, сначала установите последние обновления для .Net Framework 4.5.1.

Параметры реестра для .Net:

— Для .Net 3.5 и 2.0:


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727] "SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727] "SchUseStrongCrypto"=dword:00000001

— Для .Net 4.x:


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SystemDefaultTlsVersions"=dword:00000001

— Для .Net 4.6:


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v4.0.30319] "SchUseStrongCrypto"=dword:00000001

Например, без этих параметров PowerShell не сможет подключиться к репозиториям PSGallery на Windows Server 2012 R2 из-за использования протокола TLS 1.0, который больше не поддерживается.

Утилита IISCrypto

Для управления протоколами TLS/SSL и настройками Schannel можно использовать бесплатную утилиту IISCrypto. С её помощью можно включать и отключать различные версии протоколов через графический интерфейс. Однако учтите, что IISCrypto не позволяет изменять настройки TLS для .NET и WinHTTP.

После выполнения всех настроек вы сможете включить поддержку TLS 1.2 в Windows 7 и обеспечить безопасность коммуникаций. Это особенно важно для поддержки современных приложений и сервисов, требующих повышенного уровня безопасности.

banner for Windows 7
Купить ключ активации Windows 7 от
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии