aboutsummaryrefslogtreecommitdiff
path: root/cmd_verify.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd_verify.go')
-rw-r--r--cmd_verify.go68
1 files changed, 32 insertions, 36 deletions
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
}