Skip to content

Commit

Permalink
Add testcase for ES384 in JWS
Browse files Browse the repository at this point in the history
  • Loading branch information
ulrikstrid committed Feb 14, 2023
1 parent c981da0 commit dd44f34
Showing 1 changed file with 29 additions and 0 deletions.
29 changes: 29 additions & 0 deletions test/JWSTest.ml
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,35 @@ let jws_suite, _ =
in
check_result_string "matches original jws"
(Ok expected_jws_string) jws_string);
Alcotest.test_case "Roundtrip with ES384" `Quick (fun () ->
let priv_string =
{|{
"alg":"ES384",
"crv":"P-384",
"x":"rxz9m2FeRvvTE7_lSSSLve2c_ZkXxAasRId4jLqzIlsud19DtF52LOn91mQTRP9Y",
"y":"3_G1QTpidcws41ep1nLoc--6fHQjPXgu-oVuZhXB7VSihC3nLrF4irfhlB8cmTsa",
"d":"9eZFD1YrsUj5yQKj5u3Rju-Wx4JPL1TGXDWS1zE8AvYAmz_1Hp62R_oTtk1H7ARH",
"kty":"EC",
"kid":"W1X4opFJerkT7BFhQaf1-A5fRZTBJBmuJwerrUEcU4c"
}|}
in
let jwk =
Jose.Jwk.of_priv_json_string priv_string |> Result.get_ok
in
let jws = Jose.Jws.sign ~payload:"hello" jwk in
let jws_string = Result.map Jose.Jws.to_string jws in
let validated =
jws_string
|> CCResult.flat_map Jose.Jws.of_string
|> CCResult.flat_map (Jose.Jws.validate ~jwk)
in
let pub_jwk = Jose.Jwk.pub_of_priv jwk in
let _validated =
CCResult.flat_map (Jose.Jws.validate ~jwk:pub_jwk) jws
in

check_result_string "Correct payload" (Ok "hello")
(Result.map (fun (jws : Jose.Jws.t) -> jws.payload) validated));
] );
]

Expand Down

0 comments on commit dd44f34

Please sign in to comment.