From 948b5251bdf5b7264059130715df035e5e959bfd Mon Sep 17 00:00:00 2001 From: Nirmal N R Date: Fri, 31 Oct 2025 17:08:52 +0530 Subject: [PATCH] Added Go utility to generate keys --- install/generate-ed25519-keys.go | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 install/generate-ed25519-keys.go diff --git a/install/generate-ed25519-keys.go b/install/generate-ed25519-keys.go new file mode 100644 index 0000000..a8e61c6 --- /dev/null +++ b/install/generate-ed25519-keys.go @@ -0,0 +1,30 @@ +package main + +/* +To run this code and generate a new Ed25519 key pair, use the following command: +go run install/generate-ed25519-keys.go +*/ + +import ( + "crypto/ed25519" + "encoding/base64" + "fmt" + "log" +) + +func main() { + // Generate a new Ed25519 key pair using rand.Reader as default + publicKey, privateKey, err := ed25519.GenerateKey(nil) + if err != nil { + log.Fatal("Failed to generate key pair:", err) + } + + // The private key contains both seed and public key (64 bytes total) + // We need to extract just the seed (first 32 bytes) + seed := privateKey[:ed25519.SeedSize] + + fmt.Println("=== Ed25519 Key Pair ===") + fmt.Printf("signingPrivateKey: %s\n", base64.StdEncoding.EncodeToString(seed)) + fmt.Printf("signingPublicKey: %s\n", base64.StdEncoding.EncodeToString(publicKey)) + +}