From 55dcdf2c6142c0c6fa39067d304bae2fbac3db95 Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sun, 27 Dec 2015 14:00:25 +0100 Subject: Split functions --- account.go | 14 +++++++++++--- client.go | 2 +- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/account.go b/account.go index f2cf7e8..6749bbf 100644 --- a/account.go +++ b/account.go @@ -53,7 +53,7 @@ type Signer interface { } type Thumber interface { - Thumb(string) (string, error) + Thumb() (string, error) } type ThumbSigner interface { @@ -71,11 +71,19 @@ func (a *Account) Sign(msg []byte, n jose.NonceSource) (io.Reader, error) { return strings.NewReader(obj.FullSerialize()), nil } -func (a *Account) Thumb(token string) (string, error) { +func (a *Account) Thumb() (string, error) { k := &jose.JsonWebKey{Key: a.privKey.Public(), Algorithm: "RSA"} thumb, err := k.Thumbprint(crypto.SHA256) if err != nil { return "", err } - return token + "." + base64.RawURLEncoding.EncodeToString(thumb), nil + return base64.RawURLEncoding.EncodeToString(thumb), nil +} + +func KeyAuthorization(s Thumber, token string) (string, error) { + thumb, err := s.Thumb() + if err != nil { + return "", err + } + return token + "." + thumb, nil } diff --git a/client.go b/client.go index 6b356fe..9bed81d 100644 --- a/client.go +++ b/client.go @@ -232,7 +232,7 @@ func (c *Client) Authorize(s ThumbSigner, domain string) error { return errors.New("can't solve any challenges") } - ka, _ := s.Thumb(ch.Token) + ka, _ := KeyAuthorization(s, ch.Token) ans := &Challenge{ Resource: ResChallenge, Type: ch.Type, -- cgit v1.2.3