diff --git a/mdserver.py b/mdserver.py index 1bf6f5da042b01038e6c8e7b22a7e282940da6a6..0857f8a0308390655b02a95e2667ecf4c0fa82dd 100755 --- a/mdserver.py +++ b/mdserver.py @@ -28,9 +28,14 @@ class Entity(object): valid_until = 0 +def signer(xml): + global cert, key + return XMLSigner().sign(xml, key=key, cert=cert) + + @app.route('/sign/<path:eid>', methods=['GET']) def sign(eid): - global idps, signed, cert + global idps, signed entity = unquote(eid) if entity in signed: signed_entity = signed[entity] @@ -41,7 +46,7 @@ def sign(eid): if entity in idps: try: print(f"sign {entity}") - signed_element = XMLSigner().sign(idps[entity].md, key=key, cert=cert) + signed_element = signer(idps[entity].md) signed_xml = ET.tostring(signed_element, pretty_print=True).decode() signed_entity = Entity signed_entity.md = signed_xml