aboutsummaryrefslogtreecommitdiff
path: root/account.go
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2016-01-12 20:59:15 +0100
committerDimitri Sokolyuk <demon@dim13.org>2016-01-12 20:59:15 +0100
commitf249ea3e2595fdc0ffda3497b1c2c7546b87f6cc (patch)
treef5aea6ad248cc1adbe0901be63d0b515474d83b4 /account.go
parent590982ab2f9f70dd59af19997e7888daa2a911bd (diff)
kiss
Diffstat (limited to 'account.go')
-rw-r--r--account.go22
1 files changed, 3 insertions, 19 deletions
diff --git a/account.go b/account.go
index 95e2dde..32619f0 100644
--- a/account.go
+++ b/account.go
@@ -49,15 +49,7 @@ func newAccount(key *rsa.PrivateKey) (*Account, error) {
// Signer describes a signing interface
type Signer interface {
Sign(interface{}, jose.NonceSource) (io.Reader, error)
-}
-
-type Thumber interface {
- Thumb() (string, error)
-}
-
-type ThumbSigner interface {
- Signer
- Thumber
+ Thumb(string) (string, error)
}
// Sign implements Signer interface
@@ -74,21 +66,13 @@ func (a *Account) Sign(v interface{}, n jose.NonceSource) (io.Reader, error) {
return strings.NewReader(obj.FullSerialize()), nil
}
-func (a *Account) Thumb() (string, error) {
+func (a *Account) Thumb(token string) (string, error) {
k := &jose.JsonWebKey{Key: a.key.Public(), Algorithm: "RSA"}
thumb, err := k.Thumbprint(crypto.SHA256)
if err != nil {
return "", err
}
- 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
+ return token + "." + base64.RawURLEncoding.EncodeToString(thumb), nil
}
func (a *Account) SaveKey(fname string) error {