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 Framework.
  • 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
  • Microsoft Visual Studio 2010
  • Microsoft Visual Studio 2008

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

Rebex FTP/SSL is known to work on Windows 8, Windows Vista, Windows XP SP3 and Windows Server 2003 R2. However, these platforms already reached end-of-life, which means we cannot guarantee any kind of 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 8.1
  • Windows 7 (SP1 and higher)
  • Windows Server 2008 R2 (SP1 and higher)
  • Linux (64-bit)
  • macOS (64-bit)

.NET Standard 

Rebex FTP/SSL supports .NET Standard 1.5/2.0 on .NET Core 2.1 and 2.2. 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 8.0 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 

For details of legacy platforms support see the following articles:

.NET Compact Framework on handhelds and mobiles 

Rebex FTP/SSL supports Microsoft legacy handheld and mobile platforms.

Supported frameworks:

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

Supported mobile operating systems:

  • Windows CE 5.0, 6.x
  • Pocket PC
  • Windows Mobile
  • Windows Embedded Compact 7
  • Windows Embedded Compact 2013

Supported IDE versions:

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

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:

  • SSL 3.0
  • TLS 1.0
  • TLS 1.1
  • TLS 1.2

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