Sample code for 30+ languages & platforms
B4X

FTPS with Mutual TLS Authentication (TLS Client Certificate)

See more FTP Examples

Demonstrates how to do mutual TLS authentication (using a client certificate from a .pfx/.p12).

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example requires the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim ftp As ChilkatFtp2
ftp.Initialize("ftp")

ftp.Hostname = "ftp.example.com"
ftp.Port = 21

'  If using implicit TLS, you probably want port 990..
ftp.Port = 990

'  Set this to False for implicit TLS, otherwise set to True for explicit TLS (where port is typically 21).
ftp.AuthTls = False

'  Set this to True for implicit TLS, otherwise set to False.
ftp.Ssl = True

Dim cert As ChilkatCert
cert.Initialize("cert")
success = cert.LoadPfxFile("qa_data/pfx/example.pfx", "pfx_password")
If success = False Then
    Log(cert.LastErrorText)
    Return
End If


'  Use this certificate for our TLS mutually authenticated connection:
success = ftp.SetSslClientCert(cert)
If success = False Then
    Log(cert.LastErrorText)
    Return
End If


'  Establish the TLS connection with the FTP server.
success = ftp.ConnectOnly
If success = False Then
    Log(ftp.LastErrorText)
    Return
End If


'  If a login is required, then login with the FTP account login/password.
ftp.Username = "myLogin"
ftp.Password = "myPassword"
success = ftp.LoginAfterConnectOnly
If success = False Then
    Log(ftp.LastErrorText)
    Return
End If


'  Do whatever you're doing to do ...
'  upload files, download files, etc...

'  .....
'  .....

success = ftp.Disconnect