Sample code for 30+ languages & platforms
Ruby

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

Ruby
require 'chilkat'

success = false

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

ftp = Chilkat::CkFtp2.new()

ftp.put_Hostname("ftp.example.com")

# If using implicit TLS, you probably want port 990..
ftp.put_Port(990)

# Set this to false for implicit TLS, otherwise set to true for explicit TLS (where port is typically 21).
ftp.put_AuthTls(false)

# Set this to true for implicit TLS, otherwise set to false.
ftp.put_Ssl(true)

cert = Chilkat::CkCert.new()
success = cert.LoadByCommonName("The common name of your certificate")
if (success == false)
    print cert.lastErrorText() + "\n";
    exit
end

# Use this certificate for our TLS mutually authenticated connection:
success = ftp.SetSslClientCert(cert)
if (success == false)
    print cert.lastErrorText() + "\n";
    exit
end

# Establish the TLS connection with the FTP server.
success = ftp.ConnectOnly()
if (success == false)
    print ftp.lastErrorText() + "\n";
    exit
end

# If a login is required, then login with the FTP account login/password.
ftp.put_Username("myLogin")
ftp.put_Password("myPassword")
success = ftp.LoginAfterConnectOnly()
if (success == false)
    print ftp.lastErrorText() + "\n";
    exit
end

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

# .....
# .....

success = ftp.Disconnect()