aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/acme/main.go25
1 files changed, 16 insertions, 9 deletions
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index 1c7c201..c6aae36 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -54,16 +54,9 @@ func main() {
for _, v := range v.Account {
log.Println("Load", v.KeyFile)
- acc, err := acme.LoadAccount(v.KeyFile)
+ acc, err := getAccount(v.KeyFile)
if err != nil {
- log.Println("New", v.KeyFile)
- acc, err = acme.NewAccount(v.KeySize)
- if err != nil {
- log.Fatal(err)
- }
- if err := acc.Save(v.KeyFile); err != nil {
- log.Fatal(err)
- }
+ log.Fatal(err)
}
con := acme.Contacts{}
con.AddMail(v.Mail)
@@ -107,3 +100,17 @@ func main() {
}
}
}
+
+func getAccount(keyFile string) (*acme.Account, error) {
+ acc, err := acme.LoadAccount(keyFile)
+ if err == nil {
+ return acc, nil
+ }
+
+ acc, err = acme.NewAccount(v.KeySize)
+ if err != nil {
+ return nil, err
+ }
+
+ return acc, acc.Save(keyFile)
+}