Home > Knowledge Base Articles > How to Configure TLS 1.2 on Exchange/IIS and SQL servers

How to Configure TLS 1.2 on Exchange/IIS and SQL servers

OVERVIEW

 

This article will describe the steps needed to configure a server's operating system and .NET Framework to utilize the TLS 1.2 protocol for communications.

 

Protocols to be enabled:

  • TLS 1.2 and .NET Framework (32 & 64 bit)

 

Once TLS 1.2 has been established, the following protocols can then be disabled for improved data security across the various participating servers .

 

Protocols to be disabled:

  • TLS 1.0, TLS 1.1, SSL 2.0, and SSL 3.0

 


TLS 1.2 System Requirements

 

Update .NET Framework

The .NET Framework 4.6.2 and later versions support TLS 1.2. We suggest to update to the latest available version.

 

Update SQL Server

Microsoft SQL Server 2016 and later versions support TLS 1.1. Earlier versions will need updates to be able to support TLS 1.2. The following Microsoft article has the list of the updates needed for each SQL Server: KB 3135244: TLS 1.2 Support for Microsoft

 

Server Implementation

Please note that all servers (Exchange/IIS Web and SQL Server) participating in the TLS 1.2 implementation must contain the same corresponding registry values in .NET Framework and Schannel in the operating system.

 

System Reboot

In order for the registry changes to take effect, the server must be rebooted.

 


 

Enable TLS 1.2 in .NET Framework

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v2.0.50727]

"SystemDefaultTlsVersions" = dword:00000001

"SchUseStrongCrypto" = dword:00000001

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319]

"SystemDefaultTlsVersions" = dword:00000001

"SchUseStrongCrypto" = dword:00000001

 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework\v2.0.50727]

"SystemDefaultTlsVersions" = dword:00000001

"SchUseStrongCrypto" = dword:00000001

 

[HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\Microsoft\.NETFramework\v4.0.30319]

"SystemDefaultTlsVersions" = dword:00000001

"SchUseStrongCrypto" = dword:00000001

 

Enable TLS 1.2 in SChannel of OS

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client]

"DisabledByDefault"=dword:00000000

"Enabled"=dword:00000001

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server]

"DisabledByDefault"=dword:00000000

"Enabled"=dword:00000001

 

 


Disable TLS 1.0, 1.1 & SSL 2, 3

 

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols]

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0]

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Client]

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]

"Enabled"=dword:00000000

"DisabledByDefault"=dword:00000001

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0]

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 3.0\Server]

"Enabled"=dword:00000000

"DisabledByDefault"=dword:00000001

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0]

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server]

"Enabled"=dword:00000000

"DisabledByDefault"=dword:00000001

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1]

 

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server]

"Enabled"=dword:00000000

"DisabledByDefault"=dword:00000001

 

(Note: Servers must be rebooted for changes to take effect)

 


Below is an illustration of the Schannel\protocols result from the registry changes:

Table

Description automatically generated

 

TLS 1.2
SChannel
.NET Framework