Version 2015 R2: FREAK fix and TLS 1.2 support

This release is mostly a security upgrade that adds TLS 1.2 support and fixes vulnerability to FREAK exploit.

FREAK fix

FREAK ("Factoring RSA Export Keys") is yet another security exploit targeting a cryptographic weakness in the TLS/SSL protocol. It misuses the purposely weak "exportable" ciphers that were added to TLS/SSL 20 years ago for compliance with U.S. cryptography export regulations. And even though these regulations were relaxed many years ago, the weak ciphers remained part of almost all TLS/SSL implementations. This will certainly change soon, because cryptography experts found a simple way to exploit those ciphers to facilitate man-in-the-middle attacks and break the security of any TLS/SSL server that allowed the use of the "exportable" ciphers based on 512-bit RSA keys. This affects Rebex FTP/SSL and Rebex Secure Mail as well.

To make our TLS/SSL library immune to these attacks, we have disabled the "exportable" ciphers. (They can still be enabled, but to make sure no one does this accidently, we added a new AllowVulnerableSuites property that needs to be changed first - which is strongly discouraged, of course.)

Note: You can make older releases of Rebex FTP/SSL or Secure Mail immune to FREAK attack by making sure you only use secure TLS/SSL ciphers (client.Settings.SslAllowedSuites = TlsCipherSuite.Secure).

TLS 1.2 support

TLS 1.2 is now supported in addition to TLS 1.1 and 1.0 (and legacy SSL 3.0, which is disabled by default). Because some common servers (such as Microsoft IIS FTP) still have troubles with TLS 1.2, we have decided not to enable TLS 1.2 by default. If you would like to give it a try, change Settings.SslAllowedVersions property of Ftp, Smtp, Imap or Pop3 objects accordingly.

We also added support for ciphers based on AES and SHA-256. These don't require TLS 1.2 and should work with TLS 1.1 and 1.0 as well.

(For a complete list of changes, see the release history.)