From 8bb62c061174bc9098d7ccf1b6772783f1336ba9 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 13 Feb 2018 01:22:10 +0100 Subject: combine --- generate.go | 78 ------------------------------------------------------------- 1 file changed, 78 deletions(-) delete mode 100644 generate.go (limited to 'generate.go') diff --git a/generate.go b/generate.go deleted file mode 100644 index 74c24e5..0000000 --- a/generate.go +++ /dev/null @@ -1,78 +0,0 @@ -package main - -import ( - "context" - "encoding" - "flag" - "log" - "os" - - "dim13.org/signify/ask" - "dim13.org/signify/b64file" - "dim13.org/signify/key" - "github.com/google/subcommands" -) - -// Usage: signify -G [-n] [-c comment] -p pubkey -s seckey - -type generateCommand struct { - nopass bool - comment string - pubFile string - secFile string -} - -func (g *generateCommand) Name() string { return "generate" } -func (g *generateCommand) Synopsis() string { return "generate key" } -func (g *generateCommand) Usage() string { - return "generate [-n] [-c comment] -p pubkey -s seckey\n" -} - -func (g *generateCommand) SetFlags(f *flag.FlagSet) { - f.BoolVar(&g.nopass, "n", false, "no key passphrase") - f.StringVar(&g.comment, "c", "signify", "comment") - f.StringVar(&g.pubFile, "p", "", "public key file (required)") - f.StringVar(&g.secFile, "s", "", "secret key file (required)") -} - -func (g *generateCommand) Execute(ctx context.Context, f *flag.FlagSet, args ...interface{}) subcommands.ExitStatus { - if g.pubFile == "" || g.secFile == "" { - f.Usage() - return subcommands.ExitUsageError - } - if err := ValidateNames(g.pubFile, g.secFile); err != nil { - log.Println(err) - return subcommands.ExitFailure - } - - var der key.Deriver - if !g.nopass { - der = ask.Confirmed{} - } - - pubKey, secKey, err := key.Generate(der) - if err != nil { - log.Println(err) - return subcommands.ExitFailure - } - - if err := writeFile(g.secFile, g.comment+" secret key", secKey, ModeSec); err != nil { - log.Println(err) - return subcommands.ExitFailure - } - if err := writeFile(g.pubFile, g.comment+" public key", pubKey, ModePub); err != nil { - log.Println(err) - return subcommands.ExitFailure - } - - return subcommands.ExitSuccess -} - -func writeFile(fname, comment string, u encoding.BinaryMarshaler, mode os.FileMode) error { - fd, err := Create(fname, mode) - if err != nil { - return err - } - defer fd.Close() - return b64file.Encode(fd, u, comment, nil) -} -- cgit v1.2.3