Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
|
Verify FTP SSL Server CertificateThis 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. uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATFTP2Lib_TLB, CHILKATCERTIFICATELib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var ftp: TChilkatFtp2; success: Integer; cert: IChilkatCert; begin ftp := TChilkatFtp2.Create(Self); // Any string unlocks the component for the 1st 30-days. success := ftp.UnlockComponent('Anything for 30-day trial'); if (success <> 1) then begin ShowMessage(ftp.LastErrorText); end; 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 := 1; // The Ssl property is for establishing an implicit SSL connection // on port 990. Do not set it. ftp.Ssl := 0; // 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 := 1; // 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 <> 1) then begin ShowMessage(ftp.LastErrorText); end else begin // LastErrorText contains information even when // successful. This allows you to visually verify // that the secure connection actually occurred. Memo1.Lines.Add(ftp.LastErrorText); end; // After logging on, you may examine the FTP server's cert: cert := ftp.GetSslServerCert(); if (cert = nil ) then begin ShowMessage('No server certificate!'); end else begin // Display the distinguished name of the SSL cert. ShowMessage(cert.SubjectDN); end; ShowMessage('Secure FTP Channel Established!'); // Do whatever you're doing to do ... // upload files, download files, etc... ftp.Disconnect(); end; |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2007 Chilkat Software, Inc. All Rights Reserved.