PHP Extension
PHP Extension
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 PHP Extension Downloads
<?php
include("chilkat.php");
$success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
$ftp = new CkFtp2();
$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 = new CkCert();
$success = $cert->LoadByCommonName('The common name of your certificate');
if ($success == false) {
print $cert->lastErrorText() . "\n";
exit;
}
// Use this certificate for our TLS mutually authenticated connection:
$success = $ftp->SetSslClientCert($cert);
if ($success == false) {
print $cert->lastErrorText() . "\n";
exit;
}
// Establish the TLS connection with the FTP server.
$success = $ftp->ConnectOnly();
if ($success == false) {
print $ftp->lastErrorText() . "\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 == false) {
print $ftp->lastErrorText() . "\n";
exit;
}
// Do whatever you're doing to do ...
// upload files, download files, etc...
// .....
// .....
$success = $ftp->Disconnect();
?>