Chilkat HOME ASP Visual Basic VB.NET C# C C++ MFC Delphi FoxPro Java Perl Python Ruby SQL Server VBScript
Upload to Tumbleweed SecureTransport FTPS ServerDemonstrates how to connect, authenticate, and upload file to a Tumbleweed Secure Transport SSL FTP Server. Instead of providing a login name and password, you pass the string "site-auth" for the username, and an empty string for the password. You must also provide a client-side digital certificate -- as the certificate's credentials and validity are used to authenticate.
<?php $ftp = new COM("Chilkat.Ftp2"); // Any string unlocks the component for the 1st 30-days. $success = $ftp->UnlockComponent('Anything for 30-day trial'); if ($success != true) { print $ftp->lastErrorText() . "\n"; exit; } // This code has been tested with the Tumbleweed server // at sft.wellsfargo.com $ftp->Hostname = 'sft.wellsfargo.com'; // Use these exact strings for the username and password: $ftp->Username = 'site-auth'; $ftp->Password = ''; // Establish an AUTH SSL secure channel after connecting. // Your client-side certificate is used for authentication when // the SSL channel is established. $ftp->AuthSsl = true; // The Ssl property is for establishing an implicit SSL connection // on port 990. Do not set it. $ftp->Ssl = false; // Load a certificate from a .pfx // A PFX may contain several certs, including the certificates // in a chain of authority. $certStore = new COM("Chilkat.CertStore"); $password = '***'; // Load the certs from a PFX into an in-memory certificate store: $success = $certStore->LoadPfxFile('my.pfx',$password); if ($success != true) { print $certStore->lastErrorText() . "\n"; exit; } // Find the exact cert we'll use: // cert is a Chilkat.Cert $cert = $certStore->FindCertBySubject('My Certificate 123 ABC'); if (is_null($cert)) { print 'Certificate not found!' . "\n"; exit; } // Tell the Chilkat FTP2 component to use the client-side // cert for the SSL connection: $ftp->SetSslClientCert($cert); // Connect and authenticate with the FTP server. $success = $ftp->Connect(); if ($success != true) { print $ftp->lastErrorText() . "\n"; exit; } else { // LastErrorText contains information even when // successful. This allows you to visually verify // that the secure connection actually occurred. print $ftp->lastErrorText() . "\n"; } print 'Secure FTP Channel Established!' . "\n"; // Change to the remote directory where the file will be // uploaded. If your file is to be uploaded to the FTP user // account's home directory, this is not necessary. $success = $ftp->ChangeRemoteDir('someSubDir'); if ($success != true) { print $ftp->lastErrorText() . "\n"; exit; } // You may include an absolute or relative path with the // local filename. If no path is included, the file should // be present in the current working directory of the calling // process. $localFilename = 'someFile.dat'; $remoteFilename = 'someFile.dat'; // Upload the file. $success = $ftp->PutFile($localFilename,$remoteFilename); if ($success != true) { print $ftp->lastErrorText() . "\n"; exit; } $ftp->Disconnect(); ?> |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.