aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmd/acme/main.go10
-rw-r--r--provider.go (renamed from client.go)52
2 files changed, 31 insertions, 31 deletions
diff --git a/cmd/acme/main.go b/cmd/acme/main.go
index dc397b2..2243ac3 100644
--- a/cmd/acme/main.go
+++ b/cmd/acme/main.go
@@ -79,23 +79,23 @@ func main() {
a.AddMail(des.account.Mail)
a.AddPhone(des.account.Phone)
log.Println(k, a)
- c, err := acme.NewClient(des.provider.Directory)
+ p, err := acme.NewProvider(des.provider.Directory)
if err != nil {
log.Fatal(err)
}
- log.Println(k, c)
+ log.Println(k, p)
- err = c.Register(a)
+ err = p.Register(a)
if err != nil {
log.Fatal("register", err)
}
- err = c.Authorize(a, des.Altnames[0])
+ err = p.Authorize(a, des.Altnames[0])
if err != nil {
log.Fatal("authz", err)
}
- crt, err := c.Cert(a, des.Altnames, des.key)
+ crt, err := p.Cert(a, des.Altnames, des.key)
if err != nil {
log.Fatal("cert", err)
}
diff --git a/client.go b/provider.go
index eae9f30..c0121a1 100644
--- a/client.go
+++ b/provider.go
@@ -16,8 +16,8 @@ import (
"github.com/mgutz/ansi"
)
-// Client ...
-type Client struct {
+// Provider ...
+type Provider struct {
Directory
nonce chan string
}
@@ -30,31 +30,31 @@ var (
)
// Nonce implements jose nonce provider
-func (c Client) Nonce() (string, error) {
+func (p Provider) Nonce() (string, error) {
select {
- case nonce := <-c.nonce:
+ case nonce := <-p.nonce:
return nonce, nil
default:
return "", errNoNonces
}
}
-func (c Client) replyNonce(r *http.Response) {
+func (p Provider) replyNonce(r *http.Response) {
if rn := r.Header.Get("Replay-Nonce"); rn != "" {
- c.nonce <- rn
+ p.nonce <- rn
}
}
-// NewClient fetches directory and initializes nonce
-func NewClient(directory string) (*Client, error) {
- c := &Client{nonce: make(chan string, 10)}
+// NewProvider fetches directory and initializes nonce
+func NewProvider(directory string) (*Provider, error) {
+ p := &Provider{nonce: make(chan string, 10)}
resp, err := http.Get(directory)
if err != nil {
return nil, err
}
defer resp.Body.Close()
- defer c.replyNonce(resp)
- return c, json.NewDecoder(resp.Body).Decode(&c.Directory)
+ defer p.replyNonce(resp)
+ return p, json.NewDecoder(resp.Body).Decode(&p.Directory)
}
// Important header fields
@@ -76,14 +76,14 @@ func NewClient(directory string) (*Client, error) {
// request is used for
// new-reg, new-authz, challenge, new-cert
-func (c *Client) post(uri string, s Signer, v interface{}) (*http.Response, error) {
+func (p *Provider) post(uri string, s Signer, v interface{}) (*http.Response, error) {
body, err := json.Marshal(v)
if err != nil {
return nil, err
}
log.Println(ansi.Color("POST", "red+b"), uri, string(body))
- signed, err := s.Sign(body, c)
+ signed, err := s.Sign(body, p)
if err != nil {
return nil, err
}
@@ -92,7 +92,7 @@ func (c *Client) post(uri string, s Signer, v interface{}) (*http.Response, erro
if err != nil {
return nil, err
}
- defer c.replyNonce(resp)
+ defer p.replyNonce(resp)
log.Println(ansi.Color("STATUS", "yellow"), resp.Status)
switch resp.Header.Get("Content-Type") {
@@ -171,12 +171,12 @@ func parseHeader(r *http.Response) nextStep {
challenge cert-chain
*/
-func (c *Client) Register(a *Account) error {
+func (p *Provider) Register(a *Account) error {
r := &Registration{
Resource: ResNewReg,
Contact: a.contact,
}
- resp, err := c.post(c.NewReg, a, r)
+ resp, err := p.post(p.NewReg, a, r)
if err != nil && err.(Problem).Err != ErrMalformed {
return err
}
@@ -185,7 +185,7 @@ func (c *Client) Register(a *Account) error {
case http.StatusConflict:
// Query Location
r = &Registration{Resource: ResRegister}
- resp, err = c.post(ns.Location.String(), a, r)
+ resp, err = p.post(ns.Location.String(), a, r)
if err != nil {
return err
}
@@ -198,7 +198,7 @@ func (c *Client) Register(a *Account) error {
Contact: a.contact,
Agreement: tos,
}
- _, err = c.post(ns.Location.String(), a, r)
+ _, err = p.post(ns.Location.String(), a, r)
}
}
return err
@@ -213,7 +213,7 @@ func pickChallenge(c []Challenge) (int, Challenge) {
return -1, Challenge{}
}
-func (c *Client) Authorize(s ThumbSigner, domain string) error {
+func (p *Provider) Authorize(s ThumbSigner, domain string) error {
ident := Identifier{
Type: IdentDNS,
Value: domain,
@@ -222,7 +222,7 @@ func (c *Client) Authorize(s ThumbSigner, domain string) error {
Resource: ResNewAuthz,
Identifier: ident,
}
- resp, err := c.post(c.NewAuthz, s, r)
+ resp, err := p.post(p.NewAuthz, s, r)
if err != nil {
return err
}
@@ -239,7 +239,7 @@ func (c *Client) Authorize(s ThumbSigner, domain string) error {
Type: ch.Type,
KeyAuthorization: ka,
}
- _, err = c.post(ch.URI, s, ans)
+ _, err = p.post(ch.URI, s, ans)
var sol Solver
@@ -262,7 +262,7 @@ func (c *Client) Authorize(s ThumbSigner, domain string) error {
defer ticker.Stop()
go func() {
for range ticker.C {
- err := c.queryStatus(ns.Location.String(), n, done)
+ err := p.queryStatus(ns.Location.String(), n, done)
if err != nil {
errc <- err
return
@@ -280,14 +280,14 @@ func (c *Client) Authorize(s ThumbSigner, domain string) error {
return err
}
-func (c *Client) queryStatus(url string, n int, done chan bool) error {
+func (p *Provider) queryStatus(url string, n int, done chan bool) error {
r := &Authorization{}
resp, err := http.Get(url)
if err != nil {
return err
}
defer resp.Body.Close()
- defer c.replyNonce(resp)
+ defer p.replyNonce(resp)
err = json.NewDecoder(resp.Body).Decode(r)
if err != nil {
return err
@@ -298,7 +298,7 @@ func (c *Client) queryStatus(url string, n int, done chan bool) error {
return nil
}
-func (c *Client) Cert(s Signer, altnames []string, key *rsa.PrivateKey) (*x509.Certificate, error) {
+func (p *Provider) Cert(s Signer, altnames []string, key *rsa.PrivateKey) (*x509.Certificate, error) {
csr, err := NewCSR(altnames, key)
if err != nil {
return nil, err
@@ -307,7 +307,7 @@ func (c *Client) Cert(s Signer, altnames []string, key *rsa.PrivateKey) (*x509.C
Resource: ResNewCert,
CSR: csr,
}
- resp, err := c.post(c.NewCert, s, r)
+ resp, err := p.post(p.NewCert, s, r)
if err != nil {
return nil, err
}