package main import ( "crypto/ed25519" "fmt" "git.sigsum.org/sigsum-go/pkg/hex" ) func CmdPubKey() error { b, err := decodeHexFromStdin() if err != nil { return err } if len(b) != ed25519.PrivateKeySize { return fmt.Errorf("invalid private key: size") } priv := ed25519.PrivateKey(b) pub, ok := priv.Public().(ed25519.PublicKey) if !ok { return fmt.Errorf("failed converting to public key") } fmt.Printf("%s\n", hex.Serialize(pub[:])) return nil }