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
(DataFlex) 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.
Use ChilkatAx-win32.pkg Procedure Test Handle hoCert Boolean iSuccess Variant vPrivKey Handle hoPrivKey String sPrivKeyPem Variant vSshKey Handle hoSshKey Handle hoSftp String sTemp1 Boolean bTemp1 // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. Get Create (RefClass(cComChilkatCert)) To hoCert If (Not(IsComObjectCreated(hoCert))) Begin Send CreateComObject of hoCert End // Load the certificate from the Windows certificate store Get ComLoadByCommonName Of hoCert "my_cert_common_name" To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End // Get the private key. Get ComExportPrivateKey Of hoCert To vPrivKey If (IsComObject(vPrivKey)) Begin Get Create (RefClass(cComChilkatPrivateKey)) To hoPrivKey Set pvComObject Of hoPrivKey To vPrivKey End Get ComLastMethodSuccess Of hoCert To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoCert To sTemp1 Showln sTemp1 Procedure_Return End Get ComGetPkcs8Pem Of hoPrivKey To sPrivKeyPem Get ComLastMethodSuccess Of hoPrivKey To bTemp1 If (bTemp1 = False) Begin Get ComLastErrorText Of hoPrivKey To sTemp1 Showln sTemp1 Procedure_Return End Get Create (RefClass(cComChilkatSshKey)) To hoSshKey If (Not(IsComObjectCreated(hoSshKey))) Begin Send CreateComObject of hoSshKey End Get ComFromOpenSshPrivateKey Of hoSshKey sPrivKeyPem To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoSshKey To sTemp1 Showln sTemp1 Procedure_Return End // Connect to an SSH/SFTP server Get Create (RefClass(cComChilkatSFtp)) To hoSftp If (Not(IsComObjectCreated(hoSftp))) Begin Send CreateComObject of hoSftp End Get ComConnect Of hoSftp "sftp.example.com" 22 To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End // 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.) Get pvComObject of hoSshKey to vSshKey Get ComAuthenticatePk Of hoSftp "mySshLogin" vSshKey To iSuccess If (iSuccess = False) Begin Get ComLastErrorText Of hoSftp To sTemp1 Showln sTemp1 Procedure_Return End Showln "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... End_Procedure |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.