From 21df5e97a4435f69f8ca6204b166864373ef52f3 Mon Sep 17 00:00:00 2001 From: Balakrishnan Balasubramanian Date: Wed, 18 Sep 2024 19:29:33 -0400 Subject: [PATCH] initial commit --- go.mod | 3 +++ main.go | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 go.mod create mode 100644 main.go diff --git a/go.mod b/go.mod new file mode 100644 index 0000000..940b5f3 --- /dev/null +++ b/go.mod @@ -0,0 +1,3 @@ +module go.balki.me/onion-auth-gen + +go 1.23.0 diff --git a/main.go b/main.go new file mode 100644 index 0000000..c68ec04 --- /dev/null +++ b/main.go @@ -0,0 +1,19 @@ +// Generate key pair for onion service auth +package main + +import ( + "crypto/ecdh" + "crypto/rand" + "encoding/base32" + "fmt" +) + +func main() { + + key, err := ecdh.X25519().GenerateKey(rand.Reader) + if err != nil { + panic(err) + } + fmt.Printf("private key : %s\n", base32.StdEncoding.EncodeToString(key.Bytes())[:52]) + fmt.Printf("public descriptor : descriptor:x25519:%s\n", base32.StdEncoding.EncodeToString(key.PublicKey().Bytes())[:52]) +}