Lianja
Lianja
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 Lianja Downloads
llSuccess = .F.
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loFtp = createobject("CkFtp2")
loFtp.Hostname = "ftp.example.com"
loFtp.Port = 21
// If using implicit TLS, you probably want port 990..
loFtp.Port = 990
// Set this to .F. for implicit TLS, otherwise set to .T. for explicit TLS (where port is typically 21).
loFtp.AuthTls = .F.
// Set this to .T. for implicit TLS, otherwise set to .F..
loFtp.Ssl = .T.
loCert = createobject("CkCert")
llSuccess = loCert.LoadPfxFile("qa_data/pfx/example.pfx","pfx_password")
if (llSuccess = .F.) then
? loCert.LastErrorText
release loFtp
release loCert
return
endif
// Use this certificate for our TLS mutually authenticated connection:
llSuccess = loFtp.SetSslClientCert(loCert)
if (llSuccess = .F.) then
? loCert.LastErrorText
release loFtp
release loCert
return
endif
// Establish the TLS connection with the FTP server.
llSuccess = loFtp.ConnectOnly()
if (llSuccess = .F.) then
? loFtp.LastErrorText
release loFtp
release loCert
return
endif
// If a login is required, then login with the FTP account login/password.
loFtp.Username = "myLogin"
loFtp.Password = "myPassword"
llSuccess = loFtp.LoginAfterConnectOnly()
if (llSuccess = .F.) then
? loFtp.LastErrorText
release loFtp
release loCert
return
endif
// Do whatever you're doing to do ...
// upload files, download files, etc...
// .....
// .....
llSuccess = loFtp.Disconnect()
release loFtp
release loCert