Rebex FTP/SSL for .NET 2019 R4.1

Released: Dec 16, 2019

Updates in 2019 R4.1

Features

  • .NET Core 3.1 support - .NET Core 3.1 is now supported on the following platforms:
    • Windows (x64, x86, ARM32)
    • Windows 10 IoT (x64, x86, ARM32)
    • Linux (x64, ARM32)
    • macOS (x64)
  • All: Added support for Mono 6.x.
  • FTP: Using TLS version of the control connection when negotiation the data connection.
  • Networking: Added missing 'buffer' argument check to some Send/Receive methods in ProxySocket/TlsSocket.
  • SSH: Added a workaround for a bug introduced in OpenSSH 8.0 that rejects 'sender channel' numbers in the upper half of uint32 range.
  • SSH: Added SshEncryptionMode.AEAD (to replace SshEncryptionMode.GCM).
  • SSH: Added support for ChaCha20-Poly1305 AEAD cipher to SSH client.
  • TLS/SSL: Added support for RSASSA-PSS signatures in TLS 1.2 when TLS 1.3 has been enabled.
  • TLS/SSL: Avoid unwanted truncation of outgoing TLS 1.3 messages when TlsSocket is disposed.
  • TLS/SSL: Enhanced error message when no suitable curve is available.
  • TLS/SSL: Not announcing support for X.509 certificates with Ed25519 or RSASSA-PSS public key OID (not supported yet).
  • TLS/SSL: Optimizations in TLS 1.3 internals.
  • Cryptography: Added workaround for bad RSA/PSS signature algorithm identifiers with missing parameters.
  • Cryptography: Enabled workaround for private key loading from Mono key store in .NET Standard edition on Mono.
  • Cryptography: Enhanced 'Invalid key format' error message when loading a private key.
  • Common: Binaries for .NET Standard 1.5 now use System.Collections.NonGeneric instead of custom implementations.
  • Common: Enabled Xamarin.Android workarounds in .NET Standard 2.0 edition.
  • Common: Improved ISafeSerializationData support detection.

Fixes

  • FTP: Fixed transfer aborting logic that caused data connection sockets to remain unclosed in some scenarios.
  • Networking: Fixed unhandled ObjectDisposedException or misleading SocketException when ProxySocket.Connect aborted due to timeout.
  • TLS/SSL: Fixed compatibility issue with Xamarin's "Sdk Assemblies Only" option.
  • TLS/SSL: Fixed exception type to TlsException for TLS 1.3 errors.
  • TLS/SSL: Fixed handling of TLS 1.3 PSK-KE.
  • TLS/SSL: Fixed check of signature algorithm in TLS 1.3 CertificateVerify.
  • TLS/SSL: Fixed occasional failure when negotiating TLS 1.2 or lower when TLS 1.3. is allowed.
  • TLS/SSL: Fixed order of supported signature schemes in TLS 1.3 ClientHello message.
  • TLS/SSL: Fixed parsing of fragmented TLS 1.3 handshake messages.
  • TLS/SSL: Fixed parsing of the TLS 1.3 KeyShare extension.
  • TLS/SSL: Fixed potential NullReferenceException when TLS 1.3 negotiation has been interrupted unexpectedly.
  • TLS/SSL: Fixed selection of signature algorithm used in CertificateVerify handshake messages.
  • Cryptography: Fixed serial number handling in CertificateIssuer to conform to RFC 5280 constraints.