package pubkey import ( "crypto/ed25519" "fmt" "git.sigsum.org/sigsum-go/pkg/hex" "git.sigsum.org/sigsum-tools-go/internal/util" ) func Main(_ []string) error { b, err := util.HexFromStdin() if err != nil { return err } if len(b) != ed25519.PrivateKeySize { return fmt.Errorf("pubkey: invalid key size %d", len(b)) } priv := ed25519.PrivateKey(b) pub, ok := priv.Public().(ed25519.PublicKey) if !ok { return fmt.Errorf("pubkey: must parse as ed25519") } fmt.Printf("%s\n", hex.Serialize(pub[:])) return nil }