aboutsummaryrefslogtreecommitdiff
path: root/sig/sig.go
diff options
context:
space:
mode:
Diffstat (limited to 'sig/sig.go')
-rw-r--r--sig/sig.go16
1 files changed, 16 insertions, 0 deletions
diff --git a/sig/sig.go b/sig/sig.go
index b6b9c11..c375734 100644
--- a/sig/sig.go
+++ b/sig/sig.go
@@ -8,6 +8,7 @@ import (
"fmt"
"io"
"io/ioutil"
+ "os"
"strings"
)
@@ -75,3 +76,18 @@ func DecodeFile(fname string) (*Block, error) {
}
return Decode(body)
}
+
+const (
+ SecMode os.FileMode = 0600
+ PubMode os.FileMode = 0644
+ SigMode os.FileMode = 0644
+)
+
+func EncodeFile(fname string, perm os.FileMode, b *Block) error {
+ fd, err := os.OpenFile(fname, os.O_WRONLY|os.O_CREATE, perm)
+ if err != nil {
+ return err
+ }
+ defer fd.Close()
+ return Encode(fd, b)
+}