Sample code for 30+ languages & platforms
VB.NET

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 VB.NET Downloads

VB.NET
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 New Chilkat.Ftp2

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 New Chilkat.Cert
success = cert.LoadPfxFile("qa_data/pfx/example.pfx","pfx_password")
If (success = False) Then
    Debug.WriteLine(cert.LastErrorText)
    Exit Sub
End If


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


' Establish the TLS connection with the FTP server.
success = ftp.ConnectOnly()
If (success = False) Then
    Debug.WriteLine(ftp.LastErrorText)
    Exit Sub
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
    Debug.WriteLine(ftp.LastErrorText)
    Exit Sub
End If


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

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

success = ftp.Disconnect()