onion-auth-gen/main.go

24 lines
529 B
Go
Raw Permalink Normal View History

2024-09-18 19:29:33 -04:00
// Generate key pair for onion service auth
2024-09-18 22:25:24 -04:00
// SPDX-License-Identifier: MPL-2.0
// Copyright © 2024 Balakrishnan Balasubramanian
2024-09-18 19:29:33 -04:00
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])
}