aboutsummaryrefslogtreecommitdiff
path: root/generate.go
diff options
context:
space:
mode:
Diffstat (limited to 'generate.go')
-rw-r--r--generate.go22
1 files changed, 20 insertions, 2 deletions
diff --git a/generate.go b/generate.go
index f067b8b..adc94b8 100644
--- a/generate.go
+++ b/generate.go
@@ -37,11 +37,29 @@ func generate(args []string) error {
return err
}
- if err := b64file.EncodeFile(*secFile, ModeSec, secKey, *comment+" secret key", nil); err != nil {
+ if err := encodeSec(*secFile, *comment+" secret key", secKey); err != nil {
return err
}
- if err := b64file.EncodeFile(*pubFile, ModePub, pubKey, *comment+" public key", nil); err != nil {
+ if err := encodePub(*pubFile, *comment+" public key", pubKey); err != nil {
return err
}
return nil
}
+
+func encodeSec(fname, comment string, sig *key.Sec) error {
+ fd, err := Create(fname, ModeSec)
+ if err != nil {
+ return err
+ }
+ defer fd.Close()
+ return b64file.Encode(fd, sig, comment+" secret key", nil)
+}
+
+func encodePub(fname, comment string, pub *key.Pub) error {
+ fd, err := Create(fname, ModePub)
+ if err != nil {
+ return err
+ }
+ defer fd.Close()
+ return b64file.Encode(fd, pub, comment+" public key", nil)
+}