SocketTools uses the Microsoft CryptoAPI and Schannel security package to implement support for secure connections using TLS. Which versions of TLS are available will depend on the version of the operating system you are using.
SocketTools automatically handles the differences between the operating systems in terms of functionality and which security APIs are available. However, the highest version of TLS your application can negotiate is constrained by the operating system. The following table lists the supported versions of TLS for each version of Windows.
|Windows Desktop||Minimum Build||TLS 1.0||TLS 1.2*||TLS 1.3|
|Windows XP||2600 (SP3)|
|Windows Vista||6002 (SP2)|
|Windows 7||7601 (SP1)|
|Windows 10||18362 (1903)|
|Windows Server 2003||3790|
|Windows Server 2003 R2||3790|
|Windows Server 2008||6003|
|Windows Server 2008 R2||7601|
|Windows Server 2012||9200|
|Windows Server 2012 R2||9600|
|Windows Server 2016||14393|
|Windows Server 2019||18362 (1903)|
|Windows Server 2022||20348|
* Operating system support for TLS 1.2 also includes TLS 1.1.
Windows 7 and Windows Server 2008 R2 are the minimum supported platforms for secure connections. Because most servers today will reject connections which attempt to use TLS 1.0 or TLS 1.1, secure connections will fail on unsupported versions of Windows.
Windows TLS 1.3 Support
Microsoft has not provided a roadmap for their implementation of TLS 1.3 on Windows 10 and later versions. They have added TLS 1.3 as an option for Windows 10 Build 1903, but have stated this is for testing purposes and should not be used in a production environment. When Microsoft enables TLS 1.3 in the Schannel SSPI for release versions of Windows, SocketTools will support this capability.
Currently there is no indication that Microsoft plans to support TLS 1.3 on earlier versions of Windows. SocketTools will only support TLS 1.3 on Windows 10 Build 1903 and Windows Server 2019 Build 1903 or later versions.