From 77721d9c0e9ea1823c20bdc40bb6ac8cb37a669f Mon Sep 17 00:00:00 2001 From: Markos Gogoulos Date: Mon, 29 Dec 2025 18:48:35 +0200 Subject: [PATCH] wtv --- lti/keys.py | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lti/keys.py b/lti/keys.py index d291a783..ffb1dda4 100644 --- a/lti/keys.py +++ b/lti/keys.py @@ -4,13 +4,20 @@ LTI Key Management for MediaCMS Manages RSA keys for signing Deep Linking responses (stored in database) """ +from jwcrypto import jwk + def load_private_key(): - """Load private key from database""" + """Load private key from database and convert to PEM format for PyJWT""" from .models import LTIToolKeys key_obj = LTIToolKeys.get_or_create_keys() - return key_obj.private_key_jwk + + # Convert JWK dict to PEM string (PyJWT needs PEM format) + jwk_obj = jwk.JWK(**key_obj.private_key_jwk) + pem_bytes = jwk_obj.export_to_pem(private_key=True, password=None) + + return pem_bytes.decode('utf-8') def load_public_key():