Sample code for 30+ languages & platforms
Visual FoxPro

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 Visual FoxPro Downloads

Visual FoxPro
LOCAL lnSuccess
LOCAL loKey
LOCAL lnExportEncrypted
LOCAL lcExportedKey

lnSuccess = 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.

loKey = CreateObject('Chilkat.SshKey')

lnSuccess = loKey.GenerateEd25519Key()
IF (lnSuccess <> 1) THEN
    ? loKey.LastErrorText
    RELEASE loKey
    CANCEL
ENDIF

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

* Export the ed25519 private key to unencrypted PuTTY format:
lnExportEncrypted = 0
lcExportedKey = loKey.ToPuttyPrivateKey(lnExportEncrypted)
lnSuccess = loKey.SaveText(lcExportedKey,"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:
loKey.Password = "secret"
lnExportEncrypted = 1
lcExportedKey = loKey.ToPuttyPrivateKey(lnExportEncrypted)
lnSuccess = loKey.SaveText(lcExportedKey,"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

? "Success!"

RELEASE loKey