TLS 1.3 on Windows and Linux
This release brings TLS 1.3 to Rebex HTTPS, WebSocket, FTP, IMAP, POP3, SMTP, EWS and Telnet components on a wide range of platforms:
- .NET Core 3.0 on Windows, Windows IoT, Linux and macOS
- .NET Core 2.1/2.2 on Windows, Linux and macOS
- .NET Core 1.0/1.1 on Windows 7 SP1 or higher
- .NET Framework 4.5-4.8 on Windows 7 SP1 or higher
- .NET Framework 2.0/3.5/4.0 on Windows XP SP3 or higher (needs a plugin on Windows XP SP3)
- Mono 4.0 or higher (needs a plugin)
- Xamarin.Android 8 or higher (needs a plugin)
- Xamarin.iOS 10.3 or higher (needs a plugin)
(See our platform support lifecycle for specifics of end-of-life platform support.)
TLS 1.3 is a long awaited major overhaul of TLS 1.2. That implies it will most likely take few years before it becomes as ubiquitous as its predecessors. To prevent compatibility issues with legacy servers, it is not yet enabled by default. To enable it, use
Settings.SslAllowedVersions option available in all Rebex TLS-capable libraries. For example:
// enable TLS 1.3 and TLS 1.2 via TLS/SSL settings var client = new Rebex.Net.WebClient(); client.Settings.SslAllowedVersions = TlsVersion.TLS13 | TlsVersion.TLS12; string result = client.DownloadString("https://example.org/");
We have implemented all mandatory TLS 1.3 cipher suites, key exchange algorithms, signature schemes and extensions, and many of the optional ones. For details, see the Preview 2 blog post.
See the release history for a complete list of changes.
What about .NET Compact Framework?
TLS 1.3 is not supported in our .NET CF legacy editions. Instead, we have released a bugfix version 2019 R3.3 that includes most non-TLS enhancements from 2019 R4 and several fixes specific to .NET Compact Framework platform.
We have not yet decided whether we would bring TLS 1.3 to .NET Compact Framework 3.5 as well. However, an experimental build for .NET Compact Framework 3.9 is already available - if you would like to give it a try, please contact us.