diff options
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)))) |