Jan 23 2019 05:01 AM
Could you please confirm what should be the correct TLS 1.2 "Enabled" registry value-"0xffffffff" 0r 1.
There are multiple articles in internet that refer to each one of these. Does "0xffffffff" value performs same function as decimal value 1? Is this the OS Default value?
We have exchange 2010/2013 servers.
Jan 23 2019 05:17 AM
Jan 27 2020 12:15 PM
@Christopher Hoard 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
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 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
Dec 24 2020 09:32 AM
Jul 07 2021 02:50 PM
@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!
Jan 18 2022 01:32 AM
@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.