Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Classic ASP) 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.
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <% ' 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 ' ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.Ftp2") set ftp = Server.CreateObject("Chilkat.Ftp2") 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 = 1 ' The Ssl property is for establishing an implicit SSL connection ' on port 990. Because this example uses explicit SSL, it ' should remain 0. ftp.Ssl = 0 ' 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.) ' For versions of Chilkat < 10.0.0, use CreateObject("Chilkat_9_5_0.CertStore") set certStore = Server.CreateObject("Chilkat.CertStore") ' 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 <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( certStore.LastErrorText) & "</pre>" Response.End End If ' cert is a Chilkat.Cert Set cert = certStore.FindCertBySubjectCN("Your cert's common name") If (certStore.LastMethodSuccess = 0) Then Response.Write "<pre>" & Server.HTMLEncode( certStore.LastErrorText) & "</pre>" Response.End End If success = ftp.SetSslClientCert(cert) ' Connect and login to the FTP server. success = ftp.Connect() If (success <> 1) Then Response.Write "<pre>" & Server.HTMLEncode( ftp.LastErrorText) & "</pre>" Response.End Else ' LastErrorText contains information even when ' successful. This allows you to visually verify ' that the secure connection actually occurred. Response.Write "<pre>" & Server.HTMLEncode( ftp.LastErrorText) & "</pre>" End If Response.Write "<pre>" & Server.HTMLEncode( "Secure FTP Channel Established!") & "</pre>" Response.Write "<pre>" & Server.HTMLEncode( ftp.LastErrorText) & "</pre>" ' Do whatever you're doing to do ... ' upload files, download files, etc... ' ... ' ... success = ftp.Disconnect() %> </body> </html> |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.