aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2015-12-18 00:38:36 +0100
committerDimitri Sokolyuk <demon@dim13.org>2015-12-18 00:38:36 +0100
commit9afc7bda5c1ce76ade2bfd0c91e1bd1cbbceeb44 (patch)
tree581c40157ac8c402b9b7cbf306916327e580711c
parent2b6bb06811197142d1b0ae53127a37f76e36589a (diff)
409
-rw-r--r--client.go14
-rw-r--r--cmd/acme/main.go13
-rw-r--r--errors.go2
3 files changed, 21 insertions, 8 deletions
diff --git a/client.go b/client.go
index 83dcf57..0b6a892 100644
--- a/client.go
+++ b/client.go
@@ -88,14 +88,14 @@ func (c *Client) post(url string, s Signer, v interface{}) error {
}
defer resp.Body.Close()
- if resp.StatusCode >= http.StatusBadRequest {
- return handleError(resp)
- }
-
c.nonce <- replyNonce(resp)
c.Link = links(resp)
c.Location = location(resp)
+ if resp.StatusCode >= http.StatusBadRequest {
+ return handleError(resp)
+ }
+
body, err = ioutil.ReadAll(resp.Body)
if err != nil {
return err
@@ -173,6 +173,12 @@ func (c *Client) Agree(a *Account) (*Registration, error) {
return r, err
}
+func (c *Client) Query(a *Account) (*Registration, error) {
+ r := &Registration{Resource: ResRegister}
+ err := c.post(c.Location, a, r)
+ return r, err
+}
+
func (c *Client) Authorize(a *Account, domain string) (*Authorization, error) {
r := &Authorization{
Resource: ResNewAuthz,
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index 3df4fa0..e19d6c6 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -91,7 +91,7 @@ func chkKeys(c *Config) error {
err = chkCert(des)
if err != nil {
log.Println(k, "cert missing")
- _, err := newCSR(des.Altnames, des.account.key)
+ _, err = newCSR(des.Altnames, des.account.key)
if err != nil {
log.Fatal(err)
}
@@ -116,7 +116,6 @@ func main() {
for k, des := range conf.Desire {
log.Println(k, des.account)
}
- return
for k, des := range conf.Desire {
a, _ := acme.NewAccount(des.account.Mail, des.account.Phone, des.account.key)
@@ -125,12 +124,18 @@ func main() {
if err != nil {
log.Println(err)
}
+ r, err := c.Register(a)
+ if err != nil {
+ log.Println(err)
+ }
log.Println(k, c)
- az, err := c.Authorize(a, des.Altnames[0])
+ log.Println(k, r)
+ r, err = c.Query(a)
if err != nil {
log.Println(err)
}
- log.Println(k, az)
+ log.Println(k, c)
+ log.Println(k, r)
}
}
diff --git a/errors.go b/errors.go
index eb486bd..9be62bf 100644
--- a/errors.go
+++ b/errors.go
@@ -4,6 +4,7 @@ import (
"encoding/json"
"errors"
"io/ioutil"
+ "log"
"net/http"
)
@@ -33,6 +34,7 @@ var urnErrors = map[string]error{
}
func handleError(r *http.Response) error {
+ log.Println("Status:", r.Status)
defer r.Body.Close()
body, err := ioutil.ReadAll(r.Body)
if err != nil {