summaryrefslogtreecommitdiff
path: root/src/scm/webid-oidc/stubs.scm
diff options
context:
space:
mode:
authorVivien Kraus <vivien@planete-kraus.eu>2020-01-01 00:00:00 +0100
committerVivien Kraus <vivien@planete-kraus.eu>2021-05-11 00:14:28 +0200
commitc1940e2d9c926374e581cef7b47082b62e76f4ca (patch)
treedb6a22fd99531d8926fffa3bfc3601e5c237be13 /src/scm/webid-oidc/stubs.scm
parent6de5a9f532241218181219b44687217e718461ce (diff)
Add a strip function
Diffstat (limited to 'src/scm/webid-oidc/stubs.scm')
-rw-r--r--src/scm/webid-oidc/stubs.scm21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/scm/webid-oidc/stubs.scm b/src/scm/webid-oidc/stubs.scm
index 2bcc14e..f7de56d 100644
--- a/src/scm/webid-oidc/stubs.scm
+++ b/src/scm/webid-oidc/stubs.scm
@@ -14,12 +14,31 @@
(lambda error
(raise-not-base64 data error))))
+(define (fix-generate-key . args)
+ (catch 'unsupported-crv
+ (lambda ()
+ (apply generate-key args))
+ (lambda (error)
+ (raise-unsupported-crv (cadr error)))))
+
+(define (fix-kty key)
+ (catch 'unsupported-crv
+ (lambda ()
+ (let ((ret (kty key)))
+ (unless ret
+ (raise-not-a-jwk key #f))
+ ret))
+ (lambda (error)
+ (raise-unsupported-crv (cadr error)))))
+
(export
base64-encode
(fix-base64-decode . base64-decode)
random
random-init!
- generate-key)
+ (fix-generate-key . generate-key)
+ (fix-kty . kty)
+ strip-key)
;; json reader from guile-json will not behave consistently with
;; SRFI-180 with objects: keys will be mapped to strings, not