Forum Discussion
TLS 1.2 Enabled registry value-"0xffffffff" 0r 1
To enable the TLS 1.2 protocol, create an Enabled entry in either the Client or Server subkey as described in the following table. This entry does not exist in the registry by default. After you have created the entry, change the DWORD value to 1.
Hope that helps
Best, Chris
- Roger VögeliJan 27, 2020Copper Contributor
ChrisHoardMVP it is not 100% sure that it is a value of 1.
Have a look under
https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls?WT.mc_id
Configuring Schannel protocols in the Windows Registry
You can use the registry for fine-grained control over the protocols that your client and/or server app negotiates. Your app's networking goes through Schannel (which is another name for https://docs.microsoft.com/en-us/windows/desktop/SecAuthN/secure-channel. By configuring Schannel, you can configure your app's behavior.
Start with the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols registry key. Under that key you can create any subkeys in the set SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1, and TLS 1.2. Under each of those subkeys, you can create subkeys Client and/or Server. Under Client and Server, you can create DWORD values DisabledByDefault (0 or 1) and Enabled (0 or 0xFFFFFFFF).
I know that your article is newer but at the end I think it makes not a difference if you try 0xffffffff or use a 1.Best regards
Roger
- AndrePKIJan 18, 2022Iron Contributor
Roger Vögeli It is not completely clear from the Microsoft docs what the value should be.
It is either specified as 1 or "non zero". 0xFFFFFFFF is clearly non-zero, but I have had tickets with MS Premier support to solve TLS/SChannel issues by modifying the value to 1
The article you refer to does not contain the value 0xFFFFFFFF anymore.
From docs.microsoft.com, clearly 0 or 1
To disable a cipher, create an Enabled entry in the appropriate subkey. This entry does not exist in the registry by default. After you have created the entry, change the DWORD value to 0. When you disable any algorithm, you disallow all cipher suites that use that algorithm. To enable the cipher, change the DWORD value to 1.
and another here too
Start with the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols registry key. Under that key you can create any subkeys in the set SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1, and TLS 1.2. Under each of those subkeys, you can create subkeys Client and/or Server. Under Client and Server, you can create DWORD values DisabledByDefault (0 or 1) and Enabled (0 or 1).
But not here
In order to override a system default and set a supported (D)TLS or SSL protocol version to the Enabled state, create a DWORD registry value named "Enabled" with a non-zero value, and a DWORD registry value named "DisabledByDefault" with a value of zero, under the corresponding version-specific subkey.
(I have entered a github issue for this page)
It seems that the 0xFFFFFFFF value stems from CIS/DISA STIG baselines, with may be correct (non-zero) but leading to issues if it is not 1.
- AndrePKIFeb 01, 2024Iron Contributor
The latter article (this one) has been updated to mention "1" as the correct value for Enabled.
- nmyron3983Dec 24, 2020Copper ContributorI think I would point out for anyone who reads this later that the article cited above has since been updated to match the Windows Server SCHANNEL registry guidelines. To enable, set the Enabled key to 1, to disable, set Enabled key to 0.
https://docs.microsoft.com/en-us/dotnet/framework/network-programming/tls?WT.mc_id#configuring-schannel-protocols-in-the-windows-registry
Configuring Schannel protocols in the Windows Registry
You can use the registry for fine-grained control over the protocols that your client and/or server app negotiates. Your app's networking goes through Schannel (which is another name for Secure Channel. By configuring Schannel, you can configure your app's behavior.
Start with the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols registry key. Under that key you can create any subkeys in the set SSL 2.0, SSL 3.0, TLS 1.0, TLS 1.1, and TLS 1.2. Under each of those subkeys, you can create subkeys Client and/or Server. Under Client and Server, you can create DWORD values DisabledByDefault (0 or 1) and Enabled (0 or 1)- 1357924680Jul 07, 2021Brass Contributor
nmyron3983 I was trying to understand what that hex value represented since their current guidance doesn't reflect it. You just saved me a lot of searching, thanks!