aboutsummaryrefslogtreecommitdiff
path: root/file/names.go
diff options
context:
space:
mode:
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")
+}