aboutsummaryrefslogtreecommitdiff
path: root/cmd/acme/main.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-12-18 19:00:12 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-12-18 19:00:12 +0100
commit8ce6e8dd325c658b3ca49a5de6c7540a72ec3fb5 (patch)
tree8fbc4b4c4f2405b9ce82e72ef7ed27c487dc9b28 /cmd/acme/main.go
parent6d1eef0c011cbe666300ee023ccdbeac80dc43c0 (diff)
Expand interface
Diffstat (limited to 'cmd/acme/main.go')
-rw-r--r--cmd/acme/main.go22
1 files changed, 11 insertions, 11 deletions
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index d197908..1a4f4f2 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -2,6 +2,7 @@ package main
import (
"crypto/rsa"
+ "errors"
"flag"
"log"
"os"
@@ -14,7 +15,14 @@ var confName = flag.String("conf", "acme.toml", "configuration file")
func chkKey(k PrivKey) (*rsa.PrivateKey, error) {
key := k.KeyPath()
- if _, err := os.Stat(key); os.IsNotExist(err) {
+ if k.KeyExists() {
+ fd, err := os.Open(key)
+ if err != nil {
+ return nil, err
+ }
+ defer fd.Close()
+ return acme.LoadKey(fd)
+ } else {
log.Println("allocating", key, k.Size())
if err := os.MkdirAll(path.Dir(key), 0700); err != nil {
return nil, err
@@ -26,20 +34,12 @@ func chkKey(k PrivKey) (*rsa.PrivateKey, error) {
}
defer fd.Close()
return acme.NewKey(fd, k.Size())
- } else {
- fd, err := os.Open(key)
- if err != nil {
- return nil, err
- }
- defer fd.Close()
- return acme.LoadKey(fd)
}
}
func chkCert(k Cert) error {
- cert := k.CertPath()
- if _, err := os.Stat(cert); os.IsNotExist(err) {
- return err
+ if !k.CertExists() {
+ return errors.New("cert missing")
}
return nil
}