aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-03-07 04:25:33 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-03-07 04:25:33 +0100
commitea97e1d5cae714efd5fc0352d6f83f8f9ef707dd (patch)
treef99f5a0e146f483dc834827e2ca8f2b06e9ed306 /cmd
parent9ac0a4cd9f72aa8eb85b18c13ddb8bdd9a2e1579 (diff)
Skip valid certs
Diffstat (limited to 'cmd')
-rw-r--r--cmd/acme/config.go5
-rw-r--r--cmd/acme/main.go12
2 files changed, 12 insertions, 5 deletions
diff --git a/cmd/acme/config.go b/cmd/acme/config.go
index 39259fd..ebdcb76 100644
--- a/cmd/acme/config.go
+++ b/cmd/acme/config.go
@@ -1,6 +1,7 @@
package main
import (
+ "crypto/x509"
"errors"
"io/ioutil"
"os/user"
@@ -165,3 +166,7 @@ func checkWWW(altnames []string) []string {
}
return altnames
}
+
+func (c Config) renew(cert *x509.Certificate) bool {
+ return time.Now().Add(c.Gracetime).After(cert.NotAfter)
+}
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index cfd3c6b..2de2705 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -8,7 +8,10 @@ import (
"dim13.org/acme"
)
-var confName = flag.String("conf", "", "configuration file")
+var (
+ confName = flag.String("conf", "", "configuration file")
+ forceRenew = flag.Bool("force", false, "force renew")
+)
func main() {
flag.Parse()
@@ -73,10 +76,9 @@ func main() {
if err != nil {
log.Println(err)
}
- if c.Leaf != nil {
- log.Println(c.Leaf.Subject)
- log.Println(c.Leaf.NotBefore)
- log.Println(c.Leaf.NotAfter)
+ if c.Leaf != nil && !conf.renew(c.Leaf) && !*forceRenew {
+ log.Println("valid until", c.Leaf.NotAfter, "sipping")
+ continue
}
key, err := acme.NewKey(v.KeySize)