summaryrefslogtreecommitdiff
path: root/src/scm/webid-oidc/stubs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'src/scm/webid-oidc/stubs.scm')
-rw-r--r--src/scm/webid-oidc/stubs.scm12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/scm/webid-oidc/stubs.scm b/src/scm/webid-oidc/stubs.scm
index ff94497..4f2036b 100644
--- a/src/scm/webid-oidc/stubs.scm
+++ b/src/scm/webid-oidc/stubs.scm
@@ -28,9 +28,16 @@
(unless ret
(raise-not-a-jwk key #f))
ret))
- (lambda (error)
+ (lambda error
(raise-unsupported-crv (cadr error)))))
+(define (fix-hash alg payload)
+ (catch 'unsupported-alg
+ (lambda ()
+ (hash alg payload))
+ (lambda error
+ (raise-unsupported-alg (cadr error)))))
+
(export
base64-encode
(fix-base64-decode . base64-decode)
@@ -38,7 +45,8 @@
random-init!
(fix-generate-key . generate-key)
(fix-kty . kty)
- strip-key)
+ strip-key
+ (fix-hash . hash))
;; json reader from guile-json will not behave consistently with
;; SRFI-180 with objects: keys will be mapped to strings, not