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
(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.
LOCAL loCert LOCAL lnSuccess LOCAL loPrivKey LOCAL lcPrivKeyPem LOCAL loSshKey LOCAL loSftp * This example assumes the Chilkat API to have been previously unlocked. * See Global Unlock Sample for sample code. * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.Cert') 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 = loCert.ExportPrivateKey() IF (loCert.LastMethodSuccess = 0) THEN ? loCert.LastErrorText RELEASE loCert CANCEL ENDIF lcPrivKeyPem = loPrivKey.GetPkcs8Pem() IF (loPrivKey.LastMethodSuccess = 0) THEN ? loPrivKey.LastErrorText RELEASE loCert CANCEL ENDIF * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.SshKey') loSshKey = CreateObject('Chilkat.SshKey') lnSuccess = loSshKey.FromOpenSshPrivateKey(lcPrivKeyPem) IF (lnSuccess = 0) THEN ? loSshKey.LastErrorText RELEASE loCert RELEASE loSshKey CANCEL ENDIF * Connect to an SSH/SFTP server * For versions of Chilkat < 10.0.0, use CreateObject('Chilkat_9_5_0.SFtp') loSftp = CreateObject('Chilkat.SFtp') lnSuccess = loSftp.Connect("sftp.example.com",22) IF (lnSuccess = 0) THEN ? loSftp.LastErrorText RELEASE loCert 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 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 loSshKey RELEASE loSftp |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.