From 0456617941c2508cf128a04ebfb58c8d2169586f Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Fri, 27 Nov 2015 14:42:12 +0100 Subject: WIP --- client.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) (limited to 'client.go') diff --git a/client.go b/client.go index 8759ad1..8f7138a 100644 --- a/client.go +++ b/client.go @@ -6,6 +6,8 @@ import ( "io/ioutil" "log" "net/http" + + jose "github.com/square/go-jose" ) func Get(uri string, v interface{}) error { @@ -36,3 +38,29 @@ func Post(uri string, v interface{}) error { } return nil } + +type Z struct{} + +func (Z) Nonce() (string, error) { return "test", nil } + +func Sign(acc Account, body []byte) (string, error) { + signer, err := jose.NewSigner(jose.RS256, acc.PrivKey) + signer.SetNonceSource(Z{}) + if err != nil { + return "", err + } + obj, err := signer.Sign(body) + if err != nil { + return "", err + } + return obj.FullSerialize(), nil +} + +func ParseSigned(body string) error { + obj, err := jose.ParseSigned(body) + if err != nil { + return err + } + log.Printf("%+v\n", obj) + return nil +} -- cgit v1.2.3