aboutsummaryrefslogtreecommitdiff
path: root/file/names.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-05-01 17:28:38 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-05-01 17:28:38 +0200
commita3e526f9b89aa52c21cf8da02a5ddf6682795b1b (patch)
tree476fc4aa6c1e32cbd7c6e1454b9d1edffd099ac2 /file/names.go
parent6d570db777f841f23e6aef96a96992d20811cd44 (diff)
Names
Diffstat (limited to 'file/names.go')
-rw-r--r--file/names.go24
1 files changed, 24 insertions, 0 deletions
diff --git a/file/names.go b/file/names.go
new file mode 100644
index 0000000..265117e
--- /dev/null
+++ b/file/names.go
@@ -0,0 +1,24 @@
+package file
+
+import (
+ "errors"
+ "path/filepath"
+)
+
+var ErrNames = errors.New("please use naming scheme of keyname.pub and keyname.sec")
+
+func Names(pubFile, secFile string) error {
+ pubFile = filepath.Base(pubFile)
+ secFile = filepath.Base(secFile)
+ pubExt := filepath.Ext(pubFile)
+ secExt := filepath.Ext(secFile)
+ if pubExt != ".pub" || secExt != ".sec" || pubFile[:len(pubExt)-1] != secFile[:len(secExt)-1] {
+ return ErrNames
+ }
+ return nil
+}
+
+func PubName(secFile string) string {
+ ext := filepath.Ext(secFile)
+ return filepath.Base(secFile[:len(ext)-1] + ".pub")
+}