Chilkat HOME Android™ Classic ASP C C++ C# Mono C# .NET Core C# C# UWP/WinRT DataFlex Delphi ActiveX Delphi DLL Visual FoxPro Java Lianja MFC Objective-C Perl PHP ActiveX PHP Extension PowerBuilder PowerShell PureBasic CkPython Chilkat2-Python Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ Visual Basic 6.0 VB.NET VB.NET UWP/WinRT VBScript Xojo Plugin Node.js Excel Go
(Excel) Using WS_FTP Self-signed Certificate file (.crt) and Private Key File. (.key)Demonstrates how to use a self-signed certificate created by WS_FTP with Chilkat FTP2. Note: It is usually not necessary for the FTP client to use a client-side certificate. Most FTP servers using SSL and TLS connections (explicit or implicit) do not require client-side certs. In addition, some high-security FTP servers require "real" certificates -- meaning certificates issued by a real certificate authority with a chain of authentication that leads to a trusted root certificate. The certificates created by WS_FTP are self-signed and untrusted.
' This example requires the Chilkat API to have been previously unlocked. ' See Global Unlock Sample for sample code. ' Important: Before running this program, convert your ' .crt and .key files to a .p12 using OpenSSL: ' The command is this: ' openssl pkcs12 -export -in test.crt -inkey test.key -out test.p12 ' Dim ftp As Chilkat.Ftp2 Set ftp = Chilkat.NewFtp2 ftp.Hostname = "ftp.***.com" ftp.Port = 21 ftp.Username = "testLogin" ftp.Password = "testPassword" ' This example will use explict TLS/SSL. ' Establish an explicit secure channel after connection ' on the standard FTP port 21. ftp.AuthTls = True ' The Ssl property is for establishing an implicit SSL connection ' on port 990. Because this example uses explicit SSL, it ' should remain False. ftp.Ssl = False ' Create an instance of a certificate store object, load a .p12 file, ' locate the certificate we need, and use it for signing. ' (a P12/PFX file may contain more than one certificate.) Dim certStore As Chilkat.CertStore Set certStore = Chilkat.NewCertStore ' The 1st argument is the filename, the 2nd arg is the ' .p12 file's password. (OpenSSL will prompty you to set a password ' when converting the .crt and .key into a .p12). success = certStore.LoadPfxFile("test.p12","secret") If (success <> True) Then Debug.Print certStore.LastErrorText Exit Sub End If Set cert = certStore.FindCertBySubjectCN("Your cert's common name") If (certStore.LastMethodSuccess = False) Then Debug.Print certStore.LastErrorText Exit Sub End If success = ftp.SetSslClientCert(cert) ' Connect and login to the FTP server. success = ftp.Connect() If (success <> True) Then Debug.Print ftp.LastErrorText Exit Sub Else ' LastErrorText contains information even when ' successful. This allows you to visually verify ' that the secure connection actually occurred. Debug.Print ftp.LastErrorText End If Debug.Print "Secure FTP Channel Established!" Debug.Print ftp.LastErrorText ' Do whatever you're doing to do ... ' upload files, download files, etc... ' ... ' ... success = ftp.Disconnect() |
© 2000-2022 Chilkat Software, Inc. All Rights Reserved.