Visual FoxPro
Visual FoxPro
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 Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loFtp
LOCAL loCert
lnSuccess = 0
* This example requires the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loFtp = CreateObject('Chilkat.Ftp2')
loFtp.Hostname = "ftp.example.com"
loFtp.Port = 21
* If using implicit TLS, you probably want port 990..
loFtp.Port = 990
* Set this to 0 for implicit TLS, otherwise set to 1 for explicit TLS (where port is typically 21).
loFtp.AuthTls = 0
* Set this to 1 for implicit TLS, otherwise set to 0.
loFtp.Ssl = 1
loCert = CreateObject('Chilkat.Cert')
lnSuccess = loCert.LoadPfxFile("qa_data/pfx/example.pfx","pfx_password")
IF (lnSuccess = 0) THEN
? loCert.LastErrorText
RELEASE loFtp
RELEASE loCert
CANCEL
ENDIF
* Use this certificate for our TLS mutually authenticated connection:
lnSuccess = loFtp.SetSslClientCert(loCert)
IF (lnSuccess = 0) THEN
? loCert.LastErrorText
RELEASE loFtp
RELEASE loCert
CANCEL
ENDIF
* Establish the TLS connection with the FTP server.
lnSuccess = loFtp.ConnectOnly()
IF (lnSuccess = 0) THEN
? loFtp.LastErrorText
RELEASE loFtp
RELEASE loCert
CANCEL
ENDIF
* If a login is required, then login with the FTP account login/password.
loFtp.Username = "myLogin"
loFtp.Password = "myPassword"
lnSuccess = loFtp.LoginAfterConnectOnly()
IF (lnSuccess = 0) THEN
? loFtp.LastErrorText
RELEASE loFtp
RELEASE loCert
CANCEL
ENDIF
* Do whatever you're doing to do ...
* upload files, download files, etc...
* .....
* .....
lnSuccess = loFtp.Disconnect()
RELEASE loFtp
RELEASE loCert