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) Generate ed25519 Key and Save to PuTTY FormatGenerates an ED25519 key and saves to PuTTY format. Note: This example requires Chilkat v9.5.0.83 or greater.
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 key: HCkSshKey; success: Boolean; exportEncrypted: Boolean; exportedKey: PWideChar; begin // Note: Requires Chilkat v9.5.0.83 or greater. // This requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. key := CkSshKey_Create(); success := CkSshKey_GenerateEd25519Key(key); if (success <> True) then begin Memo1.Lines.Add(CkSshKey__lastErrorText(key)); Exit; end; // We can optionally set a comment to be included in the exported key. CkSshKey_putComment(key,'This is my new ed25519 key.'); // Export the ed25519 private key to unencrypted PuTTY format: exportEncrypted := False; exportedKey := CkSshKey__toPuttyPrivateKey(key,exportEncrypted); success := CkSshKey_SaveText(key,exportedKey,'qa_output/privkey_putty_unencrypted.ppk'); // The unencrypted PuTTY key looks like this: // PuTTY-User-Key-File-2: ssh-ed25519 // Encryption: none // Comment: This is my new ed25519 key. // Public-Lines: 2 // AAAAC3NzaC1lZDI1NTE5AAAAIJn6m7yKzkAAHXzzjE1zv4RqtdE8r5eTegcpbNDF // OPYs // Private-Lines: 1 // AAAAIFgwbZ38AR9Oiw930wsCcCGymQRBa2Y7qBq6R3HCe9VL // Private-MAC: 892573676dd13ef70b6ab7ef219decdfbd5b1857 // Export the ed25519 private key to encrypted PuTTY format: CkSshKey_putPassword(key,'secret'); exportEncrypted := True; exportedKey := CkSshKey__toPuttyPrivateKey(key,exportEncrypted); success := CkSshKey_SaveText(key,exportedKey,'qa_output/privkey_putty_encrypted.ppk'); // The encrypted PuTTY key looks like this: // PuTTY-User-Key-File-2: ssh-ed25519 // Encryption: aes256-cbc // Comment: This is my new ed25519 key. // Public-Lines: 2 // AAAAC3NzaC1lZDI1NTE5AAAAIJn6m7yKzkAAHXzzjE1zv4RqtdE8r5eTegcpbNDF // OPYs // Private-Lines: 1 // aIa9mY22htPElPgWhtXesp97662JECxaSsnNqvhD06P+o18immv8ohn73vI/bhQB // Private-MAC: 312221dc90660859fe68df300767f8f779046815 Memo1.Lines.Add('Success!'); CkSshKey_Dispose(key); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.