aboutsummaryrefslogtreecommitdiff
path: root/cmd
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-12-25 14:21:44 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-12-25 14:21:44 +0100
commita262e55aab59f23ccce5b4ebe3771a1c5e792dc2 (patch)
tree3459f2052c800dacc01a9dc784aab16628f14805 /cmd
parentd856337a7dbe4bbab82aaf735c859d203ba89a40 (diff)
Save cert
Diffstat (limited to 'cmd')
-rw-r--r--cmd/acme/main.go31
1 files changed, 20 insertions, 11 deletions
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index 6b07d5e..90cfa5d 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -23,7 +23,6 @@ func chkKey(k PrivKey) (*rsa.PrivateKey, error) {
defer fd.Close()
return acme.LoadKey(fd)
} else {
- log.Println("allocating", key, k.KeySize())
if err := os.MkdirAll(path.Dir(key), 0700); err != nil {
return nil, err
}
@@ -44,6 +43,19 @@ func chkCert(k Cert) error {
return nil
}
+func saveCert(k Cert, crt []byte) error {
+ cert := k.CertPath()
+ if err := os.MkdirAll(path.Dir(cert), 0755); err != nil {
+ return err
+ }
+ fd, err := os.Create(cert)
+ if err != nil {
+ return err
+ }
+ defer fd.Close()
+ return acme.SaveCert(fd, crt)
+}
+
func chkKeys(c *Config) error {
var err error
for k, acc := range c.Account {
@@ -58,14 +70,6 @@ func chkKeys(c *Config) error {
if err != nil {
return err
}
- err = chkCert(des)
- if err != nil {
- log.Println(k, "cert missing")
- _, err = acme.NewCSR(des.Altnames, des.account.key)
- if err != nil {
- log.Fatal(err)
- }
- }
c.Desire[k] = des
}
return nil
@@ -77,6 +81,7 @@ func main() {
if err != nil {
log.Fatal(err)
}
+
err = chkKeys(conf)
if err != nil {
log.Fatal(err)
@@ -103,10 +108,14 @@ func main() {
log.Println("authz", err)
}
- err = c.CSR(a, des.Altnames, des.key)
+ crt, err := c.Cert(a, des.Altnames, des.key)
if err != nil {
log.Println("cert", err)
}
- }
+ err = saveCert(des, crt)
+ if err != nil {
+ log.Println("save cert", err)
+ }
+ }
}