Perl
Perl
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 Perl Downloads
use chilkat();
$success = 0;
# 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 0 for implicit TLS, otherwise set to 1 for explicit TLS (where port is typically 21).
$ftp->put_AuthTls(0);
# Set this to 1 for implicit TLS, otherwise set to 0.
$ftp->put_Ssl(1);
$cert = chilkat::CkCert->new();
$success = $cert->LoadByCommonName("The common name of your certificate");
if ($success == 0) {
print $cert->lastErrorText() . "\r\n";
exit;
}
# Use this certificate for our TLS mutually authenticated connection:
$success = $ftp->SetSslClientCert($cert);
if ($success == 0) {
print $cert->lastErrorText() . "\r\n";
exit;
}
# Establish the TLS connection with the FTP server.
$success = $ftp->ConnectOnly();
if ($success == 0) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
# 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 == 0) {
print $ftp->lastErrorText() . "\r\n";
exit;
}
# Do whatever you're doing to do ...
# upload files, download files, etc...
# .....
# .....
$success = $ftp->Disconnect();