FTPS(FTP with TLS/SSL)


- TLS: Transport Layer Security

- SSL: Secure Sockets Layer

(TLS is a newer version of the SSL protocol.)


There are three different methods of establishing FTPS connections:


1) Explicit FTPS (FTPES; AUTH TLS; Explicit SSL)

- The preferred method


	...

	// Connecting on the standard FTP port 21
	// hFtp.put_Port(21); // No need to write code because default port is 21.

	// Establish AUTH TLS
	hFtp.put_AuthTls(TRUE);

	// Do not set SSL property which is for establishing an implicit SSL connection.
	hFtp.put_Ssl(FALSE);

	hFtp.Connect();


2) Implicit FTPS (Implicit SSL)

- Connecting on port 990

- An older and no longer encouraged method of establishing FTPS. But it's still somewhat common.


	...

	// Connecting on port 990
	hFtp.put_Port(990);

	// We don't want AUTH SSL
	hFtp.put_AuthTls(FALSE);

	// We want implicit SSL
	hFtp.put_Ssl(TRUE);

	hFtp.Connect();


3) AUTH SSL

- No longer encouraged


Plain FTP is insecure.