Sample code for 30+ languages & platforms
VBScript

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 VBScript Downloads

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

success = 0

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

set ftp = CreateObject("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 0 for implicit TLS, otherwise set to 1 for explicit TLS (where port is typically 21).
ftp.AuthTls = 0

' Set this to 1 for implicit TLS, otherwise set to 0.
ftp.Ssl = 1

set cert = CreateObject("Chilkat.Cert")
success = cert.LoadPfxFile("qa_data/pfx/example.pfx","pfx_password")
If (success = 0) Then
    outFile.WriteLine(cert.LastErrorText)
    WScript.Quit
End If

' Use this certificate for our TLS mutually authenticated connection:
success = ftp.SetSslClientCert(cert)
If (success = 0) Then
    outFile.WriteLine(cert.LastErrorText)
    WScript.Quit
End If

' Establish the TLS connection with the FTP server.
success = ftp.ConnectOnly()
If (success = 0) Then
    outFile.WriteLine(ftp.LastErrorText)
    WScript.Quit
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 = 0) Then
    outFile.WriteLine(ftp.LastErrorText)
    WScript.Quit
End If

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

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

success = ftp.Disconnect()

outFile.Close