diff --git a/examples/jwx_register_ec_and_key_example_test.go b/examples/jwx_register_ec_and_key_example_test.go index 5d7814abf..74d013ada 100644 --- a/examples/jwx_register_ec_and_key_example_test.go +++ b/examples/jwx_register_ec_and_key_example_test.go @@ -51,12 +51,23 @@ func convertShangMiSm2(key interface{}) (jwk.Key, error) { func ExampleShangMiSm2() { shangmi2pk, _ := sm2.GenerateKey(rand.Reader) + + // Create a jwk.Key from ShangMi SM2 private key shangmi2JWK, err := jwk.FromRaw(shangmi2pk) if err != nil { fmt.Println(err) return } + { + // Create a ShangMi SM2 private key back from the jwk.Key + var clone sm2.PrivateKey + if err := shangmi2JWK.Raw(&clone); err != nil { + fmt.Println(err) + return + } + } + payload := []byte("Lorem ipsum") signed, err := jws.Sign(payload, jws.WithKey(jwa.ES256, shangmi2JWK)) if err != nil {