aboutsummaryrefslogtreecommitdiff
path: root/cmd/signify/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/signify/main.go')
-rw-r--r--cmd/signify/main.go17
1 files changed, 17 insertions, 0 deletions
diff --git a/cmd/signify/main.go b/cmd/signify/main.go
index 9cdb6cd..58706ee 100644
--- a/cmd/signify/main.go
+++ b/cmd/signify/main.go
@@ -1,11 +1,13 @@
package main
import (
+ "errors"
"flag"
"fmt"
"io/ioutil"
"log"
"path"
+ "path/filepath"
"dim13.org/signify"
)
@@ -35,6 +37,10 @@ var (
gzip = flag.Bool("z", false, "Sign and verify gzip archives")
)
+var (
+ ErrNamingScheme = errors.New("please use naming scheme of keyname.pub and keyname.sec")
+)
+
func main() {
flag.Parse()
@@ -61,6 +67,9 @@ func main() {
}
func Generate(pubFile, secFile, comment string, rounds int) error {
+ if !NamingScheme(pubFile, secFile) {
+ return ErrNamingScheme
+ }
pubKey, encKey, err := signify.NewKey()
if err != nil {
return err
@@ -203,3 +212,11 @@ func Verify(msgFile, pubFile string) error {
log.Println("Signature Verfied")
return nil
}
+
+func NamingScheme(pubFile, secFile string) bool {
+ pubFile = filepath.Base(pubFile)
+ secFile = filepath.Base(secFile)
+ pubExt := filepath.Ext(pubFile)
+ secExt := filepath.Ext(secFile)
+ return pubExt == ".pub" && secExt == ".sec" && pubFile[:len(pubExt)] == secFile[:len(secExt)]
+}