summaryrefslogtreecommitdiff
path: root/tests/verification-failed.scm
diff options
context:
space:
mode:
Diffstat (limited to 'tests/verification-failed.scm')
-rw-r--r--tests/verification-failed.scm24
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))))