diff --git a/README.md b/README.md index daaccf7..b47de40 100644 --- a/README.md +++ b/README.md @@ -15,15 +15,12 @@ Import this package for its side effects to register Ed448 with `jwx`: package ed448_test import ( - "encoding/json" "fmt" "github.com/cloudflare/circl/sign/ed448" - "github.com/lestrrat-go/jwx/v3/jwa" - "github.com/lestrrat-go/jwx/v3/jwk" - "github.com/lestrrat-go/jwx/v3/jws" + "github.com/lestrrat-go/dsig" - _ "github.com/lestrrat-go/jwx-circl-ed448" + _ "github.com/lestrrat-go/dsig-circl-ed448" ) func Example() { @@ -36,64 +33,22 @@ func Example() { payload := []byte("Hello, Ed448!") - // Sign and verify with raw keys - signed, err := jws.Sign(payload, jws.WithKey(jwa.EdDSAEd448(), priv)) + // Sign with Ed448 private key + signature, err := dsig.Sign(priv, "Ed448", payload, nil) if err != nil { fmt.Printf("failed to sign: %s\n", err) return } - verified, err := jws.Verify(signed, jws.WithKey(jwa.EdDSAEd448(), pub)) - if err != nil { + // Verify with Ed448 public key + if err := dsig.Verify(pub, "Ed448", payload, signature); err != nil { fmt.Printf("failed to verify: %s\n", err) return } - fmt.Printf("%s\n", verified) - - // Import raw keys into JWK - jwkPriv, err := jwk.Import(priv) - if err != nil { - fmt.Printf("failed to import private key: %s\n", err) - return - } - - jwkPub, err := jwk.Import(pub) - if err != nil { - fmt.Printf("failed to import public key: %s\n", err) - return - } - - // Sign and verify with JWK keys - signed, err = jws.Sign(payload, jws.WithKey(jwa.EdDSAEd448(), jwkPriv)) - if err != nil { - fmt.Printf("failed to sign with JWK key: %s\n", err) - return - } - - verified, err = jws.Verify(signed, jws.WithKey(jwa.EdDSAEd448(), jwkPub)) - if err != nil { - fmt.Printf("failed to verify with JWK key: %s\n", err) - return - } - fmt.Printf("%s\n", verified) - - // JWK JSON round-trip - buf, err := json.MarshalIndent(jwkPriv, "", " ") - if err != nil { - fmt.Printf("failed to marshal JWK: %s\n", err) - return - } - - parsed, err := jwk.ParseKey(buf) - if err != nil { - fmt.Printf("failed to parse JWK: %s\n", err) - return - } - _ = parsed + fmt.Println("signature verified") // Output: - // Hello, Ed448! - // Hello, Ed448! + // signature verified } ``` source: [example_test.go](https://github.com/lestrrat-go/jwx-circl-ed448/blob/main/example_test.go)