Rebex



Rebex FTP/SSL for .NET/.NET CF

FTP/SSL for .NET is a file-transfer component for .NET framework. It allows you to transfer files directly from your application using FTPS which is also known as FTP over SSL/TLS.

Choose the right component: What's the difference between FTP, FTPS, SFTP, FTP/SSL, Secure FTP and SCP?

Rebex.NET: FTP library for .NET framework (VB.NET, C#)

Major Rebex FTP/SSL features

  • Support for FTPS - FTP over SSL 3.0 and TLS 1.0 according to RFC4217.
  • Easy-to-use with maximum flexibility
  • Supports .NET 2.0, 3.0, 3.5 and 4.0. Works flawlessly with 64bit version of .NET Framework.
  • .NET Compact Framework 2.0 and 3.5 (Windows CE, Pocket PC, Windows Mobile) version is also available.
  • Free one year upgrades and support.
  • Folder tranfers including all files and subfolders.
  • The SFTP library used by Microsoft in Expression Web and Visual Studio.
  • Many samples, including multithreaded WinForm clients with full C# and VB.NET source code.
  • Automatic directory listing parser for the majority of popular FTP servers on Unix, Windows and Netware platforms; easily extensible to support exotic or unknown formats.

Feature list

  • 100% managed code.
  • CLS (Common Language Specification) compliant.
  • Supports all major FTP over TLS/SSL standards.
  • Both server and client certificate authentication possible.
  • TLS/SSL key exchange using RSA, DSA or RSA with ephemeral Diffie-Hellman.
  • Encryption/decryption using DES, Triple DES, RC2, RC4 or AES.
  • Support for the forthcoming TLS 1.1 protocol.
  • Certificate validation is fully customizable - your application can have complete control over what is accepted and what is not.
  • Includes SecureSocket component for general use. Defining all aspects of TLS/SSL handshake is possible.
  • Includes Rebex.Security component for X509 certificate management, validation, data signature/verification and encryption/decryption.
  • Stable and thoroughly tested code.
  • Complete C# source code is optionally available.
  • Supports .NET 2.0/3.0/3.5.
  • .NET CF 2.0 and 3.5 build is available for FTP on Windows CE and PocketPC devices.
  • IPv6 support.
  • Rebex FTP/SSL for .NET is designed for ease of use from your code. Check online samples or download samples and evaluation version.
  • Support for asynchronous operations.
  • Batch file transfer - transfer a complete directory tree or a group of files corresponding to the specified mask.
  • Upload and download to or from RAM.
  • Active and passive transfer modes.
  • Binary and ASCII transfers.
  • Transfer compression support (MODE Z).
  • Reusable block mode transfer support (MODE B).
  • All common firewalls and proxy servers are supported.
  • Support for WebRequest and WebResponse pluggable protocols - download a file using any protocol in just few lines of code.
  • Samples for C# and VisualBasic .NET.
  • Special class for manipulating file and directory listings. Wildcards, regular expressions and symlinks supported.
  • Creating and deleting files and folders.
  • PutUniqueFile support (STOU command).
  • Events and delegates for effortless integration with hosting applications.
  • Can be used in both client and server applications.
  • REST command support - resume file transfers after interruption.
  • Server specific commands supported (SITE command) - e.g. setting access permissions on Unix FTP servers.
  • Automatic directory listing parser (LIST command) with all common formats supported.
  • Support for custom listing parsers to handle exotic LIST response formats.
  • Raw FTP command and response support.
  • Stream support - read from and write to remote files on the fly.
  • Monitor downloads with the progress event feature.
  • Error handling with .NET exceptions.
  • Free one-year support.
  • Free one-year upgrades.
  • MDTM (last modified time) and SIZE (the file size) commands support.
  • Compliant with RFC 959, 1123, 1579, 2228, 2246, 4217 and many common extensions.
  • Support for OTC S/KEY(tm) (One-Time Password System) authentication according to RFC 2289 (optionally used by Serv-U FTP Server). (S/KEY is a trademark of Bellcore.)

Supported file and directory listing 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
  • support for custom list parsers

Supported proxy servers

  • Socks4
  • Socks4a (Socks4 with domain name resolving)
  • Socks5
  • HTTP proxy CONNECT method (ftp://user:password@site)
  • FTP SITE (SITE with logon)
  • FTP USER/PASS (USER user@firewall@hostname / PASS pass@firewallpass)
  • FTP OPEN

Recommended and tested FTP and FTP/SSL servers

Also works with

  • ProFTPd
  • Wu-FTPd
  • BlackMoon FTP Server
  • Gene6 FTP Server
  • anonftp/publicfile
  • glFTPd
  • GlobalScape Security Server
  • Bullet Proof
  • Serv-U FTP Server (by Rhino Software)
  • War Ftp
  • WS_FTP Server (by Ipswitch)
  • Ocean FTP Server (1.02 and higher) (by Code Ocean)
  • Raiden FTPD
  • large number of public FTP servers

Samples

  • Complete GUI FTP client (C#, VB.NET)
  • Simple console client able to get and set Unix permissions, resume aborted transfers and upload directory trees (C#, VB.NET)
  • File upload/download utility (C#, VB.NET)
  • Asynchronous file upload/download utility (C#, VB.NET)
  • Displaying detailed file list (C#, VB.NET)
  • Resuming aborted tranfers (C#, VB.NET)
  • File download GUI utility (C#, VB.NET).
  • Pluggable protocols - using WebRequest (C#, VB.NET)

What next?