PowerBuilder
PowerBuilder
Generate ed25519 Key and Save to PuTTY Format
See more SSH Key Examples
Generates an ED25519 key and saves to PuTTY format.Note: This example requires Chilkat v9.5.0.83 or greater.
Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Key
integer li_ExportEncrypted
string ls_ExportedKey
li_Success = 0
// 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.
loo_Key = create oleobject
li_rc = loo_Key.ConnectToNewObject("Chilkat.SshKey")
if li_rc < 0 then
destroy loo_Key
MessageBox("Error","Connecting to COM object failed")
return
end if
li_Success = loo_Key.GenerateEd25519Key()
if li_Success <> 1 then
Write-Debug loo_Key.LastErrorText
destroy loo_Key
return
end if
// We can optionally set a comment to be included in the exported key.
loo_Key.Comment = "This is my new ed25519 key."
// Export the ed25519 private key to unencrypted PuTTY format:
li_ExportEncrypted = 0
ls_ExportedKey = loo_Key.ToPuttyPrivateKey(li_ExportEncrypted)
li_Success = loo_Key.SaveText(ls_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:
loo_Key.Password = "secret"
li_ExportEncrypted = 1
ls_ExportedKey = loo_Key.ToPuttyPrivateKey(li_ExportEncrypted)
li_Success = loo_Key.SaveText(ls_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
Write-Debug "Success!"
destroy loo_Key