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
(Delphi DLL) Load an SSH Key from a File (Many Formats Supported)Demonstrates how to load an SSH public or private key object from a file. The file can be in any of the following formats:
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, SshKey; ... procedure TForm1.Button1Click(Sender: TObject); var sshkey: HCkSshKey; strKey: PWideChar; success: Boolean; begin sshkey := CkSshKey_Create(); // First, use the LoadText convenience method to load a text file (of any SSH key format) // into a string: strKey := CkSshKey__loadText(sshkey,'../mySshKeys/myKey.txt'); // Next, load the key into the SSH key object. // If the key is an OpenSSH private key: // (In actuality, the From* methods will automatically detect the format and load // the key correctly. For example, if a PuTTY private key is passed to FromOpenSshPrivateKey, // it will still load correctly.) success := CkSshKey_FromOpenSshPrivateKey(sshkey,strKey); if (success <> True) then begin Memo1.Lines.Add(CkSshKey__lastErrorText(sshkey)); end else begin Memo1.Lines.Add('Loaded OpenSSH private key.'); Exit; end; // If the key is an OpenSSH public key: success := CkSshKey_FromOpenSshPublicKey(sshkey,strKey); if (success <> True) then begin Memo1.Lines.Add(CkSshKey__lastErrorText(sshkey)); end else begin Memo1.Lines.Add('Loaded OpenSSH public key.'); Exit; end; // If the key is a PuTTY private key: success := CkSshKey_FromPuttyPrivateKey(sshkey,strKey); if (success <> True) then begin Memo1.Lines.Add(CkSshKey__lastErrorText(sshkey)); end else begin Memo1.Lines.Add('Loaded PuTTY private key.'); Exit; end; // If the key is an RFC 4716 public key: success := CkSshKey_FromRfc4716PublicKey(sshkey,strKey); if (success <> True) then begin Memo1.Lines.Add(CkSshKey__lastErrorText(sshkey)); end else begin Memo1.Lines.Add('Loaded RFC 4716 public key.'); end; CkSshKey_Dispose(sshkey); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.