aboutsummaryrefslogtreecommitdiff
path: root/provider.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-06-03 14:03:20 +0200
committerDimitri Sokolyuk <demon@dim13.org>2016-06-03 14:03:20 +0200
commitd21f85cfebeaee5335b0a8228f0c6f2653e942a0 (patch)
tree62b471f3b0768b55cbce67e2dec63f0d722914de /provider.go
parente738999c9656b98e78fd6fba8576a1ffa5c5b892 (diff)
Encapsulate Signer in Provider
Diffstat (limited to 'provider.go')
-rw-r--r--provider.go15
1 files changed, 9 insertions, 6 deletions
diff --git a/provider.go b/provider.go
index 5c43655..23b6bd4 100644
--- a/provider.go
+++ b/provider.go
@@ -1,6 +1,7 @@
package acme
import (
+ "bytes"
"crypto"
"encoding/json"
"errors"
@@ -49,6 +50,7 @@ type Meta struct {
type Provider struct {
Directory
http.Client
+ thumb string
}
var (
@@ -76,6 +78,7 @@ func DialProvider(directory string, key crypto.PrivateKey) (*Provider, error) {
Client: http.Client{
Transport: sig,
},
+ thumb: sig.thumb,
}
if directory == "" {
directory = LE1
@@ -87,16 +90,16 @@ func DialProvider(directory string, key crypto.PrivateKey) (*Provider, error) {
return p, parseJson(resp, &p.Directory)
}
-func (p *Provider) post(uri string, s *Signer, v interface{}) (*http.Response, error) {
+func (p Provider) KeyAuth(token string) string {
+ return token + "." + p.thumb
+}
+
+func (p *Provider) post(uri string, v interface{}) (*http.Response, error) {
msg, err := json.Marshal(v)
if err != nil {
return nil, err
}
- signed, err := s.Sign(msg)
- if err != nil {
- return nil, err
- }
- return p.Post(uri, mimeJose, signed)
+ return p.Post(uri, mimeJose, bytes.NewReader(msg))
}
type nextStep struct {