Skip to content

FTPS Connection using BouncyCastle

Robin Rodricks edited this page Sep 3, 2026 · 5 revisions

Overview

FluentFTP normally uses .NET SslStream/SChannel for secure encrypted connections. This combination unfortunately currently does not support TLS 1.3 on MS Windows systems.

Therefore we integrated the powerful BouncyCastle networking library, a .NET library ported from Java, which contains a bulletproof implementation of TLS 1.3, and also supports much more secure authentication methods, as an alternative secure and encrypted transport medium.

We developed a FluentFTP adapter wrapper for BouncyCastle called FluentFTP.BouncyCastle, which works on Windows, Unix and Mac OSX.

Packaging

It is published as an independent Nuget FluentFTP.BouncyCastle, and integrates with the FluentFTP client object. See the diagram below for a visual explanation.

TODO

Features

Benefits

Using BouncyCastle FTP streams gives many benefits:

  • ??

Known limitations

  • ??

Settings

All these settings are properties of the FtpClient object.

  • Config.CustomStream - Set this option to typeof(BouncyCastleFtpStream) to activate the BouncyCastle package in your FTP client.

  • Config.CustomStreamConfig - Set this to an instance of BouncyCastleFtpConfig to configure the GnuTLS connection settings.

BouncyCastle Settings

All these settings are properties of the BouncyCastleFtpConfig object.

?? Settings

  • xx
  • xx

?? Settings

  • xx
  • xx

Examples

C#

How do I connect with TLS 1.3?

TODO

Clone this wiki locally