diff options
Diffstat (limited to 'src/scm/webid-oidc/stubs.scm')
-rw-r--r-- | src/scm/webid-oidc/stubs.scm | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/src/scm/webid-oidc/stubs.scm b/src/scm/webid-oidc/stubs.scm index 0ef3fb5..ff94497 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 |