diff options
author | Vivien Kraus <vivien@planete-kraus.eu> | 2020-01-01 00:00:00 +0100 |
---|---|---|
committer | Vivien Kraus <vivien@planete-kraus.eu> | 2021-06-19 15:44:24 +0200 |
commit | 6202ffc3fa4ffd0ab4f62535a0526792571f76e7 (patch) | |
tree | 3a08b46f05339658544411bbd92ef93642c364f0 /tests/verification-failed.scm | |
parent | b421139970323462df02c52bccfc960558d4c10f (diff) |
Add a signature and verification function for JWS
Diffstat (limited to 'tests/verification-failed.scm')
-rw-r--r-- | tests/verification-failed.scm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/verification-failed.scm b/tests/verification-failed.scm new file mode 100644 index 0000000..b580caa --- /dev/null +++ b/tests/verification-failed.scm @@ -0,0 +1,24 @@ +(use-modules (webid-oidc stubs) + (webid-oidc errors) + (webid-oidc testing)) + +(with-test-environment + "verification-failed" + (lambda () + (let* ((key (json-string->scm "{ + \"kty\":\"EC\", + \"x\":\"l8tFrhx-34tV3hRICRDY9zCkDlpBhF42UQUfWVAWBFs\", + \"y\":\"9VE4jf_Ok_o64zbTTlcuNJajHmt6v9TDVrU0CdvGRDA\", + \"crv\":\"P-256\" + }")) + (payload "eyJ0eXAiOiJkcG9wK2p3dCIsImFsZyI6IkVTMjU2IiwiandrIjp7Imt0eSI6IkVDIiwieCI6Imw4dEZyaHgtMzR0VjNoUklDUkRZOXpDa0RscEJoRjQyVVFVZldWQVdCRnMiLCJ5IjoiOVZFNGpmX09rX282NHpiVFRsY3VOSmFqSG10NnY5VERWclUwQ2R2R1JEQSIsImNydiI6IlAtMjU2In19.eyJqdGkiOiJlMWozVl9iS2ljOC1MQUVCIiwiaHRtIjoiR0VUIiwiaHR1IjoiaHR0cHM6Ly9yZXNvdXJjZS5leGFtcGxlLm9yZy9wcm90ZWN0ZWRyZXNvdXJjZSIsImlhdCI6MTU2MjI2MjYxOH0") + (signature "lNhmpAX_WwmpBvwhok4E74kWCiGBNdavjLAeevGy32H3dbF0Jbri69Nm2ukkwb-uyUI4AUg_JSskfWIyo4UCbQ")) ;; Replaced 1 with _ + (with-exception-handler + (lambda (error) + (unless ((record-predicate &invalid-signature) error) + (exit 1))) + (lambda () + (verify 'ES256 key payload signature) + (exit 2)) + #:unwind? #t + #:unwind-for-type &invalid-signature)))) |