commit 21df5e97a4435f69f8ca6204b166864373ef52f3 Author: Balakrishnan Balasubramanian Date: Wed Sep 18 19:29:33 2024 -0400 initial commit 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]) +}