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 from PFX (.pfx/.p12)Demonstrates how to use the private key associated with a certificate from a .pfx/.p12 file.
LOCAL loCert LOCAL lcPfxFilepath LOCAL lcPfxPassword 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') lcPfxFilepath = "qa_data/pfx/my.pfx" lcPfxPassword = "secret" * A PFX typically contains certificates in the chain of authentication. * The Chilkat cert object will choose the certificate w/ * private key farthest from the root authority cert. * To access all the certificates in a PFX, use the * Chilkat certificate store object instead. lnSuccess = loCert.LoadPfxFile(lcPfxFilepath,lcPfxPassword) IF (lnSuccess <> 1) 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.