DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoFtp
Variant vCert
Handle hoCert
String sTemp1
Move False To iSuccess
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
Get Create (RefClass(cComChilkatFtp2)) To hoFtp
If (Not(IsComObjectCreated(hoFtp))) Begin
Send CreateComObject of hoFtp
End
Set ComHostname Of hoFtp To "ftp.example.com"
Set ComPort Of hoFtp To 21
// If using implicit TLS, you probably want port 990..
Set ComPort Of hoFtp To 990
// Set this to False for implicit TLS, otherwise set to True for explicit TLS (where port is typically 21).
Set ComAuthTls Of hoFtp To False
// Set this to True for implicit TLS, otherwise set to False.
Set ComSsl Of hoFtp To True
Get Create (RefClass(cComChilkatCert)) To hoCert
If (Not(IsComObjectCreated(hoCert))) Begin
Send CreateComObject of hoCert
End
Get ComLoadPfxFile Of hoCert "qa_data/pfx/example.pfx" "pfx_password" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoCert To sTemp1
Showln sTemp1
Procedure_Return
End
// Use this certificate for our TLS mutually authenticated connection:
Get pvComObject of hoCert to vCert
Get ComSetSslClientCert Of hoFtp vCert To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoCert To sTemp1
Showln sTemp1
Procedure_Return
End
// Establish the TLS connection with the FTP server.
Get ComConnectOnly Of hoFtp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
// If a login is required, then login with the FTP account login/password.
Set ComUsername Of hoFtp To "myLogin"
Set ComPassword Of hoFtp To "myPassword"
Get ComLoginAfterConnectOnly Of hoFtp To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoFtp To sTemp1
Showln sTemp1
Procedure_Return
End
// Do whatever you're doing to do ...
// upload files, download files, etc...
// .....
// .....
Get ComDisconnect Of hoFtp To iSuccess
End_Procedure