aboutsummaryrefslogtreecommitdiff
path: root/cmd/acme/file.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/acme/file.go')
-rw-r--r--cmd/acme/file.go12
1 files changed, 10 insertions, 2 deletions
diff --git a/cmd/acme/file.go b/cmd/acme/file.go
index 6f54c31..c639fe9 100644
--- a/cmd/acme/file.go
+++ b/cmd/acme/file.go
@@ -5,6 +5,7 @@ import (
"crypto/tls"
"io"
"os"
+ "path"
"syscall"
"dim13.org/acme"
@@ -20,7 +21,9 @@ func NewFile(fname string, mode os.FileMode) (io.WriteCloser, error) {
}
func (d domain) Save(cert tls.Certificate) error {
- // save key
+ if err := os.MkdirAll(path.Dir(d.KeyFile), 0700); err != nil {
+ return err
+ }
fd, err := NewFile(d.KeyFile, 0600)
if err != nil {
return err
@@ -31,7 +34,9 @@ func (d domain) Save(cert tls.Certificate) error {
return err
}
- // save certs
+ if err := os.MkdirAll(path.Dir(d.CrtFile), 0755); err != nil {
+ return err
+ }
fd, err = NewFile(d.CrtFile, 0644)
if err != nil {
return err
@@ -50,6 +55,9 @@ func (d domain) Load() (tls.Certificate, error) {
}
func (a account) Save(key crypto.PrivateKey) error {
+ if err := os.MkdirAll(path.Dir(a.KeyFile), 0700); err != nil {
+ return err
+ }
fd, err := NewFile(a.KeyFile, 0600)
if err != nil {
return err