Sample code for 30+ languages & platforms
Chilkat2-Python

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 Chilkat2-Python Downloads

Chilkat2-Python
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"

# 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.LoadByCommonName("The common name of your certificate")
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()