Sample code for 30+ languages & platforms
VBScript

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

VBScript
Dim fso, outFile
Set fso = CreateObject("Scripting.FileSystemObject")
'Create a Unicode (utf-16) output text file.
Set outFile = fso.CreateTextFile("output.txt", True, True)

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.

set key = CreateObject("Chilkat.SshKey")

success = key.GenerateEd25519Key()
If (success <> 1) Then
    outFile.WriteLine(key.LastErrorText)
    WScript.Quit
End If

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

' Export the ed25519 private key to unencrypted PuTTY format:
exportEncrypted = 0
exportedKey = key.ToPuttyPrivateKey(exportEncrypted)
success = key.SaveText(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:
key.Password = "secret"
exportEncrypted = 1
exportedKey = key.ToPuttyPrivateKey(exportEncrypted)
success = key.SaveText(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

outFile.WriteLine("Success!")

outFile.Close