From 24f20fed452b62cccad07a7a6468710691fee994 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Tue, 13 Feb 2018 01:36:30 +0100 Subject: cleanup --- cmd_generate.go | 8 +++---- cmd_sign.go | 60 ++++++++++++++++++++++++-------------------------- cmd_verify.go | 68 +++++++++++++++++++++++++++------------------------------ 3 files changed, 64 insertions(+), 72 deletions(-) diff --git a/cmd_generate.go b/cmd_generate.go index 74c24e5..3d0e826 100644 --- a/cmd_generate.go +++ b/cmd_generate.go @@ -56,11 +56,11 @@ func (g *generateCommand) Execute(ctx context.Context, f *flag.FlagSet, args ... return subcommands.ExitFailure } - if err := writeFile(g.secFile, g.comment+" secret key", secKey, ModeSec); err != nil { + if err := g.writeFile(g.secFile, "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 { + if err := g.writeFile(g.pubFile, "public key", pubKey, ModePub); err != nil { log.Println(err) return subcommands.ExitFailure } @@ -68,11 +68,11 @@ func (g *generateCommand) Execute(ctx context.Context, f *flag.FlagSet, args ... return subcommands.ExitSuccess } -func writeFile(fname, comment string, u encoding.BinaryMarshaler, mode os.FileMode) error { +func (g *generateCommand) 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) + return b64file.Encode(fd, u, g.comment+" "+comment, nil) } diff --git a/cmd_sign.go b/cmd_sign.go index 91b58ea..5d3f6df 100644 --- a/cmd_sign.go +++ b/cmd_sign.go @@ -16,11 +16,11 @@ import ( // Usage: signify -S [-ez] [-x sigfile] -s seckey -m message type signCommand struct { - embedded bool - zip bool - sigFile string - secFile string - msgFile string + embed bool + zip bool + sigFile string + secFile string + msgFile string } func (s *signCommand) Name() string { return "sign" } @@ -30,7 +30,7 @@ func (s *signCommand) Usage() string { } func (s *signCommand) SetFlags(f *flag.FlagSet) { - f.BoolVar(&s.embedded, "e", false, "embed the message") + f.BoolVar(&s.embed, "e", false, "embed the message") f.BoolVar(&s.zip, "z", false, "sign gzip archive") // TODO f.StringVar(&s.sigFile, "x", "", "signature file") f.StringVar(&s.secFile, "s", "", "secret file (required)") @@ -46,41 +46,37 @@ func (s *signCommand) Execute(ctx context.Context, f *flag.FlagSet, args ...inte s.sigFile = SigName(s.msgFile) } + var err error switch { - case s.zip && s.embedded: + case s.zip && s.embed: return subcommands.ExitUsageError case s.zip: - if err := signGzip(s.secFile, s.msgFile, s.sigFile); err != nil { - log.Println(err) - return subcommands.ExitFailure - } - case s.embedded: - if err := signEmbedded(s.secFile, s.msgFile, s.sigFile); err != nil { - log.Println(err) - return subcommands.ExitFailure - } + err = s.zipped() + case s.embed: + err = s.embedded() default: - if err := signPlain(s.secFile, s.msgFile, s.sigFile); err != nil { - log.Println(err) - return subcommands.ExitFailure - } + err = s.plain() + } + if err != nil { + log.Println(err) + return subcommands.ExitFailure } return subcommands.ExitSuccess } -func signPlain(secFile, msgFile, sigFile string) error { - sec, err := openSec(secFile) +func (s *signCommand) plain() error { + sec, err := openSec(s.secFile) if err != nil { return err } - msg, err := ioutil.ReadFile(msgFile) + msg, err := ioutil.ReadFile(s.msgFile) if err != nil { return err } sig := sec.Sign(msg) - comment := VerifyWith(secFile) - fd, err := Create(sigFile, ModeSig) + comment := VerifyWith(s.secFile) + fd, err := Create(s.sigFile, ModeSig) if err != nil { return err } @@ -88,18 +84,18 @@ func signPlain(secFile, msgFile, sigFile string) error { return b64file.Encode(fd, sig, comment, nil) } -func signEmbedded(secFile, msgFile, sigFile string) error { - sec, err := openSec(secFile) +func (s *signCommand) embedded() error { + sec, err := openSec(s.secFile) if err != nil { return err } - msg, err := ioutil.ReadFile(msgFile) + msg, err := ioutil.ReadFile(s.msgFile) if err != nil { return err } sig := sec.Sign(msg) - comment := VerifyWith(secFile) - fd, err := Create(sigFile, ModeSig) + comment := VerifyWith(s.secFile) + fd, err := Create(s.sigFile, ModeSig) if err != nil { return err } @@ -108,8 +104,8 @@ func signEmbedded(secFile, msgFile, sigFile string) error { } // TODO -func signGzip(secFile, msgFile, sigFile string) error { - fd, err := Open(msgFile) +func (s *signCommand) zipped() error { + fd, err := Open(s.msgFile) if err != nil { return err } diff --git a/cmd_verify.go b/cmd_verify.go index c38955d..bd23970 100644 --- a/cmd_verify.go +++ b/cmd_verify.go @@ -17,13 +17,13 @@ import ( // Usage: signify -V [-eqz] [-p pubkey] [-t keytype] [-x sigfile] -m message type verifyCommand struct { - embedded bool - quiet bool - zip bool - pubFile string - keyFile string - sigFile string - msgFile string + embed bool + quiet bool + zip bool + pubFile string + keyFile string + sigFile string + msgFile string } func (v *verifyCommand) Name() string { return "verify" } @@ -33,7 +33,7 @@ func (v *verifyCommand) Usage() string { } func (v *verifyCommand) SetFlags(f *flag.FlagSet) { - f.BoolVar(&v.embedded, "e", false, "embed message") + f.BoolVar(&v.embed, "e", false, "embed message") f.BoolVar(&v.quiet, "q", false, "quiet mode") f.BoolVar(&v.zip, "z", false, "verify gzip archive") // TODO f.StringVar(&v.pubFile, "p", "", "public key file") @@ -52,24 +52,20 @@ func (v *verifyCommand) Execute(ctx context.Context, f *flag.FlagSet, args ...in } // TODO keyType + var err error switch { - case v.zip && v.embedded: + case v.zip && v.embed: return subcommands.ExitUsageError case v.zip: - if err := verifyGzip(v.pubFile, v.sigFile); err != nil { - log.Println(err) - return subcommands.ExitFailure - } - case v.embedded: - if err := verifyEmbedded(v.pubFile, v.sigFile); err != nil { - log.Println(err) - return subcommands.ExitFailure - } + err = v.zipped() + case v.embed: + err = v.embedded() default: - if err := verifyPlain(v.pubFile, v.sigFile, v.msgFile); err != nil { - log.Println(err) - return subcommands.ExitFailure - } + err = v.plain() + } + if err != nil { + log.Println(err) + return subcommands.ExitFailure } if !v.quiet { fmt.Println("Signature Verified") @@ -77,34 +73,34 @@ func (v *verifyCommand) Execute(ctx context.Context, f *flag.FlagSet, args ...in return subcommands.ExitSuccess } -func verifyPlain(pubFile, sigFile, msgFile string) error { - msg, err := ioutil.ReadFile(msgFile) +func (v *verifyCommand) plain() error { + msg, err := ioutil.ReadFile(v.msgFile) if err != nil { return err } - sig, _, verifyWith, err := openSig(sigFile) + sig, _, verifyWith, err := openSig(v.sigFile) if err != nil { return err } - if pubFile == "" { - pubFile = verifyWith + if v.pubFile == "" { + v.pubFile = verifyWith } - pub, err := openPub(pubFile) + pub, err := openPub(v.pubFile) if err != nil { return err } return sig.Verify(msg, pub) } -func verifyEmbedded(pubFile, sigFile string) error { - sig, msg, verifyWith, err := openSig(sigFile) +func (v *verifyCommand) embedded() error { + sig, msg, verifyWith, err := openSig(v.sigFile) if err != nil { return err } - if pubFile == "" { - pubFile = verifyWith + if v.pubFile == "" { + v.pubFile = verifyWith } - pub, err := openPub(pubFile) + pub, err := openPub(v.pubFile) if err != nil { return err } @@ -112,8 +108,8 @@ func verifyEmbedded(pubFile, sigFile string) error { } // TODO ugly work-in-progress -func verifyGzip(pubFile, sigFile string) error { - fd, err := Open(sigFile) +func (v *verifyCommand) zipped() error { + fd, err := Open(v.sigFile) if err != nil { return err } @@ -132,7 +128,7 @@ func verifyGzip(pubFile, sigFile string) error { return err } - pub, err := openPub(pubFile) + pub, err := openPub(v.pubFile) if err != nil { return err } -- cgit v1.2.3