![]() |
Chilkat HOME Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi DLL Go Java Node.js Objective-C PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Visual FoxPro) SFTP use Cert's Private Key for Authentication (Windows)Demonstrates how to use the private key of a pre-installed certificate (on Windows) for SFTP authentication. The certificate's private key must be marked as "exportable" when originally installed. Note: This example requires Chilkat v11.0.0 or greater.
LOCAL lnSuccess LOCAL loCert LOCAL loPrivKey LOCAL lcPrivKeyPem LOCAL loSshKey LOCAL loSftp lnSuccess = 0 * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. loCert = CreateObject('Chilkat.Cert') * Load the certificate from the Windows certificate store lnSuccess = loCert.LoadByCommonName("my_cert_common_name") IF (lnSuccess = 0) THEN ? loCert.LastErrorText RELEASE loCert CANCEL ENDIF * Get the private key. loPrivKey = CreateObject('Chilkat.PrivateKey') lnSuccess = loCert.GetPrivateKey(loPrivKey) IF (lnSuccess = 0) THEN ? loCert.LastErrorText RELEASE loCert RELEASE loPrivKey CANCEL ENDIF lcPrivKeyPem = loPrivKey.GetPkcs8Pem() IF (loPrivKey.LastMethodSuccess = 0) THEN ? loPrivKey.LastErrorText RELEASE loCert RELEASE loPrivKey CANCEL ENDIF loSshKey = CreateObject('Chilkat.SshKey') lnSuccess = loSshKey.FromOpenSshPrivateKey(lcPrivKeyPem) IF (lnSuccess = 0) THEN ? loSshKey.LastErrorText RELEASE loCert RELEASE loPrivKey RELEASE loSshKey CANCEL ENDIF * Connect to an SSH/SFTP server loSftp = CreateObject('Chilkat.SFtp') lnSuccess = loSftp.Connect("sftp.example.com",22) IF (lnSuccess = 0) THEN ? loSftp.LastErrorText RELEASE loCert RELEASE loPrivKey RELEASE loSshKey RELEASE loSftp CANCEL ENDIF * Authenticate with the SSH server using a username + private key. * (The private key serves as the password. The username identifies * the SSH user account on the server.) lnSuccess = loSftp.AuthenticatePk("mySshLogin",loSshKey) IF (lnSuccess = 0) THEN ? loSftp.LastErrorText RELEASE loCert RELEASE loPrivKey RELEASE loSshKey RELEASE loSftp CANCEL ENDIF ? "OK, the connection and authentication with the SSH server is completed." * This example is only to show the connection + authentication using a private key associated with a certificate in the Windows certificate store... RELEASE loCert RELEASE loPrivKey RELEASE loSshKey RELEASE loSftp |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.