Rebex FTP/SSL

FTP and FTP/SSL client .NET library

Download 30-day free trial Buy from $349

Standards and platform support

100% managed .NET code with no external dependencies 

  • Rebex FTP/SSL is written in 100% managed C# code.
  • No external dependencies. It only needs .NET.
  • No open source code used.
  • Fully CLS-compliant.
  • Supports any .NET language (C#, VB.NET, C++/CLI, etc.)
  • Platform-independent code. Same assemblies for both 32-bit and 64-bit applications.

.NET Framework on Windows 

Rebex FTP/SSL supports the following .NET Framework platforms:

  • .NET Framework 4.8
  • .NET Framework 4.7.x
  • .NET Framework 4.6.x
  • .NET Framework 4.5.x
  • .NET Framework 4.0
  • .NET Framework 3.5 SP1
  • .NET Framework 3.5
  • .NET Framework 3.0
  • .NET Framework 2.0
  • Both 32-bit and 64-bit versions (same DLLs)

Supported IDE versions:

  • Microsoft Visual Studio 2019
  • Microsoft Visual Studio 2017
  • Microsoft Visual Studio 2015
  • Microsoft Visual Studio 2013
  • Microsoft Visual Studio 2012

Supported Windows versions:

  • Windows 10
  • Windows Server 2019
  • Windows Server 2016
  • Windows 8.1
  • Windows Server 2012 R2
  • Windows Server 2012
  • Windows Server 2008 R2
  • Windows Server 2008
  • Windows 7 SP1

Rebex FTP/SSL is known to work on Windows 8, Windows Vista, Windows XP SP3, Windows Server 2003 R2, Windows Embedded Standard 2009 and Windows Embedded POSReady 2009. However, these platforms already reached end-of-life, which means we cannot guarantee support for Rebex FTP/SSL on these operating systems.

.NET Core 

Rebex FTP/SSL supports .NET Core platform.

Supported frameworks:

Supported operating systems:

  • Windows 10
  • Windows 10 IoT (.NET Core 3.1 and 3.0)
  • Windows 8.1
  • Windows 7 SP1
  • Windows Server 2008 R2 SP1
  • Linux
  • macOS
  • Same DLLs for all platforms (32-bit x86, 64-bit x64, ARM)

.NET Standard 

Rebex FTP/SSL supports .NET Standard 1.5/2.0 on .NET Core. It also supports .NET Standard 2.0 on Mono 5.14 (or higher). Support for .NET Standard 2.0 on Universal Windows Platform (build 16299 or higher) and Xamarin.Mac (version 3.8 or higher) is experimental.

Mono on Linux 

Rebex FTP/SSL supports Mono 4.x/5.x on Linux and Apple macOS (OS X).

Xamarin.iOS 

  • Visual Studio with Xamarin.iOS 10.3 or later
  • iOS 10 or later

Xamarin.Android 

  • Visual Studio with Xamarin.Android 9.1 or later

Xamarin.Mac 

Rebex FTP/SSL features experimental support for Xamarin.Mac 3.8 or later via .NET Standard 2.0.

Universal Windows Platform 

Rebex FTP/SSL features experimental support for Universal Windows Platform (UWP/UAP) applications on Windows 10 via .NET Standard 2.0.

Supported platforms:

  • Windows 10 (version 1709 or higher)
  • Windows 10 IoT (version 1709 or higher)

In order to use Rebex FTP/SSL on these platforms, make sure to specify at least Windows 10 Fall Creators Update (10.0; Build 16299) in your Universal Windows project.

ASP.NET 

Rebex FTP/SSL can be used within an ASP.NET web page. However, you have to keep in mind specific features of the ASP.NET platform (it is stateless, multithreaded, it may be limited by MediumTrust security level...).

For more details, see How to use Rebex SFTP or FTP/SSL in ASP.NET knowledge base article or try the FTP client in ASP.NET sample.

Legacy platform support 

Legacy edition of Rebex FTP/SSL for the following platforms is available as a separate product:

  • .NET Compact Framework 3.5/3.9

Legacy platforms are platforms that are no longer covered by our Standard Support, but have not yet reached End of Life. For details, see the following KB articles:

.NET Compact Framework 

Rebex FTP/SSL supports .NET Compact Framework on Microsoft's legacy embedded, handheld and mobile platforms based on Windows CE.

Supported frameworks:

  • .NET Compact Framework 3.9
  • .NET Compact Framework 3.5

Supported operating systems:

  • Windows Embedded Compact 2013
  • Windows Embedded Compact 7
  • Windows Embedded Handheld 6.5
  • Windows Embedded CE 6.0 (end-of-life platform)
  • Windows CE 5.0 (end-of-life platform)
  • Windows Mobile 5.0, 6.0, 6.1, 6.5 (end-of-life platforms)

Supported IDE versions:

  • Microsoft Visual Studio 2013
  • Microsoft Visual Studio 2012
  • Microsoft Visual Studio 2008

Please note .NET Compact Framework is a legacy platform, which means that Rebex FTP/SSL for .NET CF is available as a separate product with different lifecycle and pricing.

Internet RFC specifications 

Implemented (FTP and TLS) RFCs:

Please note that some non-essential features might not be supported. Let us know if you need to add anything.

TLS/SSL versions 

Supported TLS/SSL protocol versions:

  • TLS 1.3 (not available on .NET Compact Framework)
  • TLS 1.2
  • TLS 1.1
  • TLS 1.0
  • SSL 3.0

FIPS 140-2 mode 

Rebex FTP/SSL can operate in a FIPS 140-2 compliant mode. When enabled, only FIPS-approved cryptographic modules from MS CryptoAPI are used. FIPS mode is activated automatically when Windows is running in FIPS mode. To switch on the FIPS mode manually, set
Rebex.Security.Cryptography.CryptoHelper.UseFipsAlgorithmsOnly to true.

Directory listing formats 

Rebex FTP/SSL can parse directory listings using the following formats:

  • Unix "ls" (ProFTPd, Wu-FTPd, Microsoft FTP and many others)
  • DOS (Microsoft FTP and others)
  • Netware
  • DJ Bernstein's EPLF
  • glFTPd ANSI-colored list
  • VMS and MultiNet (both single and multiline)
  • IBM 4690
  • Tandem Guardian
  • support for custom list parsers

Proxy servers 

  • Various FTP proxies
  • SOCKS4
  • SOCKS4a (Socks4 with domain name resolving)
  • SOCKS5
  • HTTP proxies with CONNECT method support
  • Tunneling through SSH servers

Learn how to use proxy servers in Rebex FTP/SSL.

Cryptographic algorithms 

  • Diffie-Hellman key exchange
  • RSA
  • DSA (with support of non-standard key sizes of up to 4096 bits)
  • Tripple DES
  • ArcFour (compatible with RC4)
  • AES (Rijndael)
  • SHA-1
  • SHA-2 (SHA-256, SHA-384, SHA-512)
  • MD5

Learn more about TLS/SSL security standards details.

Certificate and private key formats 

Certificate formats

  • PKCS #12
  • PFX
  • DER (binary or base64 encoded)
  • CER (binary or base64 encoded)

External private key formats

  • PKCS #8 keys
  • OpenSSH/OpenSSL (SSLeay) keys
  • PuTTY .ppk keys

Scripting platforms 

Rebex FTP/SSL is designed primary for use in .NET framework applications. However, it can be used in several other scripting and hosting environments:

  • Microsoft SQL Server SSIS packages
  • Microsoft SQL Server SQL CLR stored procedures
  • Microsoft PowerShell scripts

See how to use Rebex FTP/SSL in SSIS, SQL CLR and PowerShell environments.

Other technologies 

  • IPv4 and IPv6 support