Nav

About the FTPS Connector

The FTPS connector connects to FTP servers the same way as the FTP connector but adds support for Transport Layer Security (TLS).

Creating a Connection

To create a basic FTPS Connection the host and workingDir (where the FTPS server is placed) are required. Additionally the port, which defaults to 21, can be also configured, and if the server runs with some security, you can specify a username and password.


         
      
1
2
3
4
5
6
7
8
<ftps:config name="FTPS_Config">
  <ftps:connection username="anonymous" password="password"
   host="0.0.0.0" port="21" workingDir="${workingDir}">
    <tls:context>
        <tls:trust-store path="path/to/keystore" password="mulepassword" />
    </tls:context>
  </ftps:connection>
</ftps:config>

FTPS Mode

Available in version 1.4.0 and later.

Explicit

The default way to connect to the FTP Server, which connects in an unprotected way to the server. The client can negotiate TLS for either the command or data channel.

Data Channel Protection Level (PROT)

In the FTPS Connector, two protection levels are configurable:

  • Clear (Default): The default protection level if no other level is specified is Clear. The Clear protection level indicates that the data channel carries the raw data of the file transfer, with no security applied.

  • Private: The Private protection level indicates that the integrity of the data and confidentiality are protected.


            
         
1
2
3
4
5
6
7
8
9
10
11
 <ftps:config name="FTPS_Config">
   <ftps:connection username="anonymous" password="password"
    host="0.0.0.0" port="21" workingDir="${workingDir}">
     <tls:context>
         <tls:trust-store path="path/to/keystore" password="mulepassword" />
     </tls:context>
     <ftps:ftps-mode >
         <ftps:ftps-explicit-mode protSetting="PRIVATE" />
     </ftps:ftps-mode>
   </ftps:connection>
 </ftps:config>

FTPS Data Channel Protection Level

Implicit

FTPS Implicit mode assumes that a secure connection through an SSL/TLS handshake must take place before any FTP command is sent. This ensures that the entire FTP session is encrypted.


           
        
1
2
3
4
5
6
7
8
9
10
11
<ftps:config name="FTPS_Config">
  <ftps:connection username="anonymous" password="password"
   host="0.0.0.0" port="21" workingDir="${workingDir}">
    <tls:context>
        <tls:trust-store path="path/to/keystore" password="mulepassword" />
    </tls:context>
    <ftps:ftps-mode >
        <ftps:ftps-implicit-mode />
    </ftps:ftps-mode>
  </ftps:connection>
</ftps:config>

Installing the Connector

To use the FTPS module, add it to your Mule app in Studio or in Design Center, or you can add the following dependency in your pom.xml file:


         
      
1
2
3
4
5
6
<dependency>
    <groupId>com.mulesoft.connectors</groupId>
    <artifactId>mule-ftps-connector</artifactId>
    <version>1.4.0</version> <!-- or later -->
    <classifier>mule-plugin</classifier>
</dependency>

Configuring TLS with Keystores and Truststores

You can use Transport Layer Security (TLS) and configure FTPS by providing a key store with your certificate. You can also enable 2-way authentication by providing a trust store. For details, see Configure TLS with Keystores and Truststores.

We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used and to tailor advertising. You can read more and make your cookie choices here. By continuing to use this site you are giving us your consent to do this.

+