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
(SQL Server) 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.
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- 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. DECLARE @key int -- Use "Chilkat_9_5_0.SshKey" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.SshKey', @key OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @success int EXEC sp_OAMethod @key, 'GenerateEd25519Key', @success OUT IF @success <> 1 BEGIN EXEC sp_OAGetProperty @key, 'LastErrorText', @sTmp0 OUT PRINT @sTmp0 EXEC @hr = sp_OADestroy @key RETURN END -- We can optionally set a comment to be included in the exported key. EXEC sp_OASetProperty @key, 'Comment', 'This is my new ed25519 key.' -- Export the ed25519 private key to unencrypted PuTTY format: DECLARE @exportEncrypted int SELECT @exportEncrypted = 0 DECLARE @exportedKey nvarchar(4000) EXEC sp_OAMethod @key, 'ToPuttyPrivateKey', @exportedKey OUT, @exportEncrypted EXEC sp_OAMethod @key, 'SaveText', @success OUT, @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: EXEC sp_OASetProperty @key, 'Password', 'secret' SELECT @exportEncrypted = 1 EXEC sp_OAMethod @key, 'ToPuttyPrivateKey', @exportedKey OUT, @exportEncrypted EXEC sp_OAMethod @key, 'SaveText', @success OUT, @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 PRINT 'Success!' EXEC @hr = sp_OADestroy @key END GO |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.