Sample code for 30+ languages & platforms
Swift

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 Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    let ftp = CkoFtp2()!

    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

    let cert = CkoCert()!
    success = cert.load(byCommonName: "The common name of your certificate")
    if success == false {
        print("\(cert.lastErrorText!)")
        return
    }

    // Use this certificate for our TLS mutually authenticated connection:
    success = ftp.setSslClientCert(cert: cert)
    if success == false {
        print("\(cert.lastErrorText!)")
        return
    }

    // Establish the TLS connection with the FTP server.
    success = ftp.connectOnly()
    if success == false {
        print("\(ftp.lastErrorText!)")
        return
    }

    // 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!)")
        return
    }

    // Do whatever you're doing to do ...
    // upload files, download files, etc...

    // .....
    // .....

    success = ftp.disconnect()

}