Sample code for 30+ languages & platforms
AutoIt

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 AutoIt Downloads

AutoIt
Local $bSuccess = False

; 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.

$oKey = ObjCreate("Chilkat.SshKey")

$bSuccess = $oKey.GenerateEd25519Key()
If ($bSuccess <> True) Then
    ConsoleWrite($oKey.LastErrorText & @CRLF)
    Exit
EndIf

; We can optionally set a comment to be included in the exported key.
$oKey.Comment = "This is my new ed25519 key."

; Export the ed25519 private key to unencrypted PuTTY format:
Local $bExportEncrypted = False
Local $sExportedKey = $oKey.ToPuttyPrivateKey($bExportEncrypted)
$bSuccess = $oKey.SaveText($sExportedKey,"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:
$oKey.Password = "secret"
$bExportEncrypted = True
$sExportedKey = $oKey.ToPuttyPrivateKey($bExportEncrypted)
$bSuccess = $oKey.SaveText($sExportedKey,"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

ConsoleWrite("Success!" & @CRLF)