This commit is contained in:
Markos Gogoulos
2025-12-29 18:48:35 +02:00
parent 06bc64b2c4
commit 77721d9c0e

View File

@@ -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():