Chilkat2-Python
Chilkat2-Python
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 Chilkat2-Python Downloads
import sys
import chilkat2
success = False
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
ftp = chilkat2.Ftp2()
ftp.Hostname = "ftp.example.com"
ftp.Port = 21
# If using implicit TLS, you probably want port 990..
ftp.Port = 990
# Set this to False for implicit TLS, otherwise set to True for explicit TLS (where port is typically 21).
ftp.AuthTls = False
# Set this to True for implicit TLS, otherwise set to False.
ftp.Ssl = True
cert = chilkat2.Cert()
success = cert.LoadPfxFile("qa_data/pfx/example.pfx","pfx_password")
if (success == False):
print(cert.LastErrorText)
sys.exit()
# Use this certificate for our TLS mutually authenticated connection:
success = ftp.SetSslClientCert(cert)
if (success == False):
print(cert.LastErrorText)
sys.exit()
# Establish the TLS connection with the FTP server.
success = ftp.ConnectOnly()
if (success == False):
print(ftp.LastErrorText)
sys.exit()
# If a login is required, then login with the FTP account login/password.
ftp.Username = "myLogin"
ftp.Password = "myPassword"
success = ftp.LoginAfterConnectOnly()
if (success == False):
print(ftp.LastErrorText)
sys.exit()
# Do whatever you're doing to do ...
# upload files, download files, etc...
# .....
# .....
success = ftp.Disconnect()