aboutsummaryrefslogtreecommitdiff
path: root/cmd/acme/main.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/acme/main.go')
-rw-r--r--cmd/acme/main.go34
1 files changed, 19 insertions, 15 deletions
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index 67cfe10..1ad6af2 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -32,14 +32,18 @@ func loadAccount(prov *acme.Provider, a account) error {
var mustRegister bool
key, err := a.Load()
if err != nil {
- key, err = acme.NewKey(a.KeySize)
- if err != nil {
- return err
- }
- if err := a.Save(key); err != nil {
+ if err == ErrNotFound {
+ key, err = acme.NewKey(a.KeySize)
+ if err != nil {
+ return err
+ }
+ if err := a.Save(key); err != nil {
+ return err
+ }
+ mustRegister = true
+ } else {
return err
}
- mustRegister = true
}
acc, err := acme.NewAccount(key)
@@ -75,20 +79,20 @@ func loadAccount(prov *acme.Provider, a account) error {
func requestCert(prov *acme.Provider, acc *acme.Account, d domain) error {
c, err := d.Load()
if err != nil {
- return err
+ if err == ErrNotFound {
+ c.PrivateKey, err = acme.NewKey(d.KeySize)
+ if err != nil {
+ return err
+ }
+ } else {
+ return err
+ }
}
- if c.Leaf != nil && !d.renew(c.Leaf) && !*forceRenew {
+ if !d.renew(c.Leaf) && !*forceRenew {
log.Println("skip valid until", c.Leaf.NotAfter)
return nil
}
- if c.Leaf == nil {
- c.PrivateKey, err = acme.NewKey(d.KeySize)
- if err != nil {
- return err
- }
- }
-
sols := acme.NewSolvers()
if d.Webroot != "" {
sols.Add(acme.NewWebrootSolver(d.Webroot))