(JavaScript) Verify FTP SSL Server Certificate
This example demonstrates how to verify the FTP server's certificate and authenticity. The intent is to verify the authenticity of the server before passing a login/password to it. Note: This example requires Chilkat v11.0.0 or greater.
var success = false;
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
var ftp = new CkFtp2();
ftp.Hostname = "ftp.myftpserver.com";
ftp.Username = "myUsername";
ftp.Password = "myPassword";
// Establish an AUTH SSL secure channel after connection
// on the standard FTP port 21.
ftp.AuthSsl = true;
// The Ssl property is for establishing an implicit SSL connection
// on port 990. Do not set it.
ftp.Ssl = false;
// Indicate that the FTP server must have a verifiable SSL certificate.
// Do not accept self-signed certs or certificates that are
// expired, revoked, or cannot be verified to a root authority:
ftp.RequireSslCertVerify = true;
// You may also set a requirement. In this example,
// the certificate's Common Name (CN) must match the
// required string exactly:
ftp.SetSslCertRequirement("subjectcn","Chilkat Software, Inc.");
// Connect and login to the FTP server.
success = ftp.Connect();
if (success == false) {
console.log(ftp.LastErrorText);
return;
}
// After logging on, you may examine the FTP server's cert:
var cert = new CkCert();
success = ftp.GetServerCert(cert);
if (success == false) {
console.log("No server certificate!");
}
else {
// Display the distinguished name of the SSL cert.
console.log(cert.SubjectDN);
}
console.log("Secure FTP Channel Established!");
// Do whatever you're doing to do ...
// upload files, download files, etc...
success = ftp.Disconnect();
|