TLS Protocol Version 1.0 is not secure and as a result, needs to be disabled on servers that offer PCI compliance.
Currently, we only support TLS 1.2.
If you’re using Windows 7 and Windows 8.0, applications built using WinHTTP such as Microsoft Outlook, Word, etc will only support TLS 1.0.
Since this protocol is no longer secure and is now disabled, if you try and establish a secure connection using your Outlook e-mail client to the GreenGeeks mail server, Outlook will display an error message similar to the one below:[ht_message mstyle=”info” title=”” show_icon=”” id=”” class=”” style=”” ]“Your server does not support the connection encryption type you have specified.”[/ht_message]
To resolve this issue and allow Outlook to communicate securely to the GreenGeeks mail server using TLS 1.2, you will have to follow these instructions.
Install the KB3140245 Update
Before you start, you will need the KB3140245 patch required for your operating system. You can get it by going to the Microsoft Update Catalog.
Click the “Download” button for your OS. As you can see, this patch is needed for Windows 7, 8 and Server 2008 and 2012.
Make sure you’re getting the correct file. You will see that Windows 7 has two available files. These are for 32 and 64-bit systems. Download the one that matches your version of Windows.
Once you download the file, install it.
However, you may already have this file if updates are current in Windows. It’s usually in the Optional section as it’s not necessarily needed to run the computer.
It’s probably a good idea to see if it’s already listed and update the file from Windows Updates.
Registry Editing Method 1: Using Easy Fix
If you don’t want to root around in the system’s registry, and I don’t blame you for not, you can always use the “Easy Fix” application. You can find this on Microsoft’s website, and it will do all the changes for you automatically.
Go to the Microsoft website and click “Download” under Easy Fix.
You may have to scroll down the page a bit to see the download button.
Run the application and follow its instructions.
Registry Editing Method 2: Editing The Registry
For this tutorial, we’ll edit the registry of Windows. Although this is a delicate process, it’s not overly difficulty. As long as you follow the instructions precisely, you’ll have nothing to worry about.
Open the Registry Editor
Click the Start button on the bottom left.
Click the option to “Run”. This will open a new small window with a text field.
Type regedit in the field and click, “OK.”
Adding the DWORD Value
Look for this entry in the Regedit screen:[ht_message mstyle=”info” title=”” show_icon=”” id=”” class=”” style=”” ]HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp[/ht_message]
Create a DWORD value Called DefaultSecureProtocols.
Set the value of this to: 0xA00
Now look for this entry:[ht_message mstyle=”info” title=”” show_icon=”” id=”” class=”” style=”” ]HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp[/ht_message]
Create a DWORD value Called DefaultSecureProtocols.
Set the value of this to: 0xA00
Look for this value in the registry:[ht_message mstyle=”info” title=”” show_icon=”” id=”” class=”” style=”” ]HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client[/ht_message]
Create DisabledByDefault DWORD and set the value to: 0.
Reboot the Computer
Once your values are placed and saved in Regedit, reboot the computer. Your settings will be live once the system restarts.
Keep Your Email Secure
Any security is better than none at all. Using TLS helps by giving you a layer of protection to keep your data safe. It’s not only email fraud that will cost your business in the long run.
Do what you can to make your email harder to access by the criminal element.
,
On Windows 7 computers, applications and services written using WinHTTP for Secure Sockets Layer (SSL) connections do not support TLS 1.1 or TLS 1.2 protocols, causing any connection to servers that support these protocols to fail.
The lack of support for TLS 1.1 & TLS 1.2 protocols in Windows 7 & Server 2008/2012, affects Outlook* and other Microsoft applications (such as Word and Excel) that use these protocols to connect to a SharePoint library, and also affects applications that use technologies such as WebClient using WebDav or WinRM. *
* For example: If you’re using Outlook in Windows 7 with SSL/TLS, you’ll receive the error «Your server does not support the connection encryption type you have specified»
How to enable TLS 1.1 & TLS 1.2 on Windows 7, Server 2008 R2 & Server 2012.
Step 1. Install Windows 7 or Server 2008 R2 Service Pack 1.
Make sure that your have installed the Windows Service Pack 1. If not, download and install it from here.
Step 2. Install Windows update KB3140245.
1. According your Windows version and architecture (32 bit or 64bit), download and install KB3140245 from the Microsoft Update Catalog.
2. Restart your PC.
Step 1. Enable TLS 1.1 & TLS 1.2 support in Windows through Registry. *
* Note: Microsoft has released an easy fix (Fix51044) that applies automatically the following registry changes, but I prefer the manual way. (Source)
1. Open the Registry Editor. To do that:
- Press Windows + R keys to open the run command box.
- Type regedit & click OK.
2. Navigate to the following path in registry:
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
3a. At the right pane, right-click on an empty space and select New > DWORD (32-bit Value).
3b. Name the new value as: DefaultSecureProtocols
3c. Now open the DefaultSecureProtocols value, type at value data a00 and click OK.
4. Next, and only if you’re using an 64-bit OS, repeat steps 3a, 3b & 3c and create again the DefaultSecureProtocols REG_DWORD (32-bit) with value a00 at the following registry location:
-
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Internet Settings\WinHttp
5. Now, navigate to the following registry path to enable TLS 1.1 & TLS 1.2 on Windows 7:
-
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols
6a. On the left pane, right-click at Protocols key and select New > Key
6b. Name the new key as: TLS 1.1
6c. Then right-click at TLS 1.1 and select again New > Key.
6d. Name the new key as: Client
6e. Now, select the Client key and then at the right pane, right-click at an empty space and select New > DWORD (32-bit Value).
6f. Name the new value as: DisabledByDefault
6g. Finally, open the DisabledByDefault REG_DWORD, enter 0 in the Value Data text box and click OK.
7. Now, right-click again at the Protocols key on the left and select New > Key.
7a. Name the new key as: TLS 1.2
7c. Repeat the steps 6c – 6g to create the Client key and then to create the DisabledByDefault REG_DWORD with value 0.
8. When done, close the Registry Editor and restart the PC.
That’s all folks! Did it work for you?
Please leave a comment in the comment section below or even better: like and share this blog post in the social networks to help spread the word about this solution.
If this article was useful for you, please consider supporting us by making a donation. Even $1 can a make a huge difference for us.
- Author
- Recent Posts
Konstantinos is the founder and administrator of Repairwin.com. Since 1995 he works and provides IT support as a computer and network expert to individuals and large companies. He is specialized in solving problems related to Windows or other Microsoft products (Windows Server, Office, Microsoft 365, etc.).
Applies To.NET Framework 3.5.1 Windows 7 Service Pack 1 Windows Server 2008 R2 Service Pack 1
В .NET Framework версии 3.5.1 и более ранних версиях приложения не поддерживают использование системных версий TLS по умолчанию в качестве криптографического протокола. Это обновление позволяет использовать TLS версии 1.2 в платформа .NET Framework 3.5.1.
Примечание . Это содержимое доступно в Windows обновлении. Чтобы получить содержимое, отсканируйте Windows на получение последних платформа .NET Framework обновлений. Если ваша система полностью обновлена с Windows Обновления, вам не нужно ничего делать.
Решение
Сведения о загрузке
На исправление, соответствующее KB3154518, были включены последние обновления платформа .NET Framework, которые содержат все исправления, ранее включенные в KB3154518. Рекомендуется установить последние обновления платформа .NET Framework.
В эту область были внося следующие улучшения:
-
В следующих ключах реестра можно использовать значения по умолчанию для SSL и TLS операционной системы, а не жестко закодированные платформа .NET Framework для управляемых приложений, работающих на компьютере.
-
Для 64-битных операционных систем:[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 -
Для 32-битных операционных систем:[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]
«SystemDefaultTlsVersions»=dword:00000001
Примечание. Если приложение настроит servicePointManager.SecureProtocol в коде или с помощью файлов-конфигур задав определенное значение, или использует API SslStream.AuthenticateAs* для указания определенного переназначение SslProtocols, поведение параметра реестра не происходит.
-
-
Кроме того, добавлена enumeration SslProtocolsExtensions, которую можно использовать в качестве параметра настройки TLS версии 1.2, TLS версии 1.1, а также стандартных версий операционной системы для свойства ServicePointManager.SecurityProtocol при настройке политики .NET framework версии 2.0 с SP2. (Сведения об использовании расширений см. в разделе «Руководство разработчика».)
Обратите внимание Windows что Windows Vista с SP2 и Windows Server 2008 с SP2 не поддерживают протокол TLS более новых версий, чем 1.0. Управляемые приложения платформа .NET Framework 2.0 с SP2, работающими в Windows Vista с SP2 или Windows Server 2008 с SP2, не могут использовать протокол TLS 1.2 или TLS 1.1, даже если эти протоколы задаваются в свойстве ServicePointManager.SecurityProtocol.
Для получения дополнительных сведений о скачии файлов службы поддержки Майкрософт щелкните номер следующей статьи, чтобы просмотреть статью в базе знаний Майкрософт:
119591 Как получить файлы службы поддержки Майкрософт из веб-служб, корпорация Майкрософт проверяла этот файл на вирусы. Корпорация Майкрософт использует самые последние на момент публикации файла версии антивирусного программного обеспечения. Файл хранится на защищенных серверах, что предотвращает его несанкционированное изменение.
Руководство для разработчиков
Определения новых расширений находятся в следующих файлах:
-
SecurityProtocolTypeExtensions.csnamespace System.Net
{
с помощью System.Security.Authentication;
Public static class SecurityProtocolTypeExtensions
{
public const const SecurityProtocolType Tls12 = (SecurityProtocolType)SslProtocolsExtensions.Tls12;
public const const SecurityProtocolType Tls11 = (SecurityProtocolType)SslProtocolsExtensions.Tls11;
public const Const SecurityProtocolType SystemDefault = (SecurityProtocolType)0;
}
} -
SslProtocolsExtensions.csnamespace System.Security.Authentication
{
public static class SslProtocolsExtensions
{
public const SslProtocols Tls12 = (SslProtocols)0x00000C00;
public const SslProtocols Tls11 = (SslProtocols)0x00000300;
}
}
Чтобы включить поддержку протокола TLS версии 1.2, включите исходные файлы в проект и за установите версию протокола, используя следующие методы:
-
Приложения, использующие API На основе ServicePointManager, могут настроить протокол следующим образом:
System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolTypeExtensions.Tls12;
-
Приложения, использующие перегрузку SslStream AuthenticateAsClient(String, X509CertificateCollection, SslProtocols, Boolean), могут установить значение SslProtocols как SslProtocolsExtensions.Tls12.
Если параметр реестра, упомянутый в первом абзаце, за установлен, а значение SslProtocols в приложении — SslProtocols.None, то выбранное поведение по умолчанию будет зависеть от Windows версии.
Кроме того, при изменении кода приложения, чтобы включить поддержку TLS 1.2 с платформа .NET Framework 3.5 с SP1, необходимо решить следующие исключения на компьютерах, на которых это исправление не развернуто:
-
Если hotfix не установлен, то при вызове приложения ServicePointManager.SecurityProtocol для установки нового значения приложением ServicePointManager выведет «System.NotSupportedException: запрашиваемая система безопасности не поддерживается».
-
Если hotfix не установлен, API на базе SslStream забросят исключения при вызове одного из API AuthenticateAs*:
System.ArgumentException: указанное значение не является допустимым в аргументе «SslProtocolType».Имя параметра: sslProtocolType
Примечание. Только для SslStream — сочетание Tls12, Tls11 с любым из существующих TLS, Ssl3, Ssl2 (например, Tls12 | Tls11 | TLS) без исправления автоматически переводится на существующие протоколы (например, TLS) в системе. Он будет подключаться к TLS без исключения.
Дополнительная информация
Чтобы включить TLS 1.1 или 1.2 по умолчанию в операционной системе, следуйте инструкциям на странице https://technet.microsoft.com/en-us/library/dn786418(v=ws.11).aspx#BKMK_SchannelTR_TLS12.
Примечание. TLS 1.1 и 1.2 недоступны в Windows Vista или Windows Server 2008.
Если вам нужно отключить стандартные значения операционной системы, задамые разделом реестра, указанным в разделе «Разрешение» для определенных приложений, вы можете сделать это, добавив следующий раздел реестра: HKEY_LOCAL_MACHINE\SOFTWARE\[Wow6432Node\]Microsoft\.NETFramework\v2.0.50727\System.Net.ServicePointManager.SystemDefaultTlsVersions
<<Полный путь к .exe файла>> DWORD 0
C:\MyApp\MyApp.exe DWORD 0
Дополнительные сведения о TLS 1.2 см. в сведениях о TLS 1.2.
После того как вы вжмете systemDefaultTlsVersions .NET registry key, для каждой версии Windows, как показано в таблице ниже.
Windows версии |
Клиент SSL2 |
SSL2 Server |
Клиент SSL3 |
SSL3 Server |
Клиент TLS 1.0 |
TLS 1.0 Server |
Клиент TLS 1.1 |
TLS 1.1 Server |
Клиент TLS 1.2 |
TLS 1.2 Server |
---|---|---|---|---|---|---|---|---|---|---|
Windows Vista с SP2 и Windows Server 2008 с SP2 |
Выкл. |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Н/Н |
Н/Н |
Н/Н |
Н/Н |
Windows 7 с SP1 и Windows Server 2008 R2 с SP1 |
Выкл. |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Выкл. |
Выкл. |
Выкл. |
Выкл. |
Windows Server 2012 |
Выкл. |
Выкл. |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Windows 8.1 и Windows Server 2012 R2 |
Выкл. |
Выкл. |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Windows 10 |
Выкл. |
Выкл. |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Windows 10 (1511) |
Выкл. |
Выкл. |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Windows 10 (1607) и Windows Server 2016 |
Н/Н |
Н/Н |
Выкл. |
Выкл. |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Вкл |
Нужна дополнительная помощь?
Нужны дополнительные параметры?
Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.
В этой статье рассмотрим, как включить протокол 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 и обеспечить безопасность коммуникаций. Это особенно важно для поддержки современных приложений и сервисов, требующих повышенного уровня безопасности.
Лицензионный ключ активации Windows 7 от
Knowledge Base
- Home
- How To
- Enable TLS 1.2 on Windows 7
Created
Modified
Article 2679
Enable TLS 1.2 on Windows 7
Windows 7 supports TLS 1.1 and TLS 1.2. However these protocol versions are not enabled on Windows 7 by default. On Windows 8 and higher the protocols are enabled by default. To enable TLS 1.1. and TLS 1.2 on Windows 7 import the following registry keys:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Client] "DisabledByDefault"=dword:00000000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server] "DisabledByDefault"=dword:00000000 [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] "DisabledByDefault"=dword:00000000
Alternatively, download Enable TLS 1.x.zip and double click (import) the Enable TLS 1.x.reg.
References
- Restrict the use of certain cryptographic algorithms and protocols in Schannel.dll
Keywords
TLS schannel
Related Articles
Enable TLS 1.2 on Windows XP
What do you think about this topic? Send feedback!