DataFlex
DataFlex
FTPS with Client Cert from Windows Certificate Store
See more FTP Examples
Demonstrates how to do mutual TLS authentication using a client certificate installed in the Windows certificate store.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"
// 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 ComLoadByCommonName Of hoCert "The common name of your certificate" 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