diff options
Diffstat (limited to 'tools/mdexport_test.py')
-rwxr-xr-x | tools/mdexport_test.py | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/tools/mdexport_test.py b/tools/mdexport_test.py new file mode 100755 index 00000000..abd9aefe --- /dev/null +++ b/tools/mdexport_test.py @@ -0,0 +1,68 @@ +#!/usr/bin/env python +import sys + +from saml2 import saml +from saml2 import md +from saml2.extension import mdui +from saml2.extension import idpdisc +from saml2.extension import dri +from saml2.extension import mdattr +from saml2.extension import ui +from saml2.extension import shibmd +import xmldsig +import xmlenc + +from saml2.mdstore import MetaDataFile, MetaDataExtern + +__author__ = 'rolandh' + +""" +A script that imports and verifies metadata and then dumps it in a basic +dictionary format. +""" + + +ONTS = { + saml.NAMESPACE: saml, + mdui.NAMESPACE: mdui, + mdattr.NAMESPACE: mdattr, + dri.NAMESPACE: dri, + ui.NAMESPACE: ui, + idpdisc.NAMESPACE: idpdisc, + md.NAMESPACE: md, + xmldsig.NAMESPACE: xmldsig, + xmlenc.NAMESPACE: xmlenc, + shibmd.NAMESPACE: shibmd +} + +MDIMPORT = { + "swamid": { + "url": "https://kalmar2.org/simplesaml/module.php/aggregator/?id=kalmarcentral2&set=saml2", + "cert": "kalmar2.pem", + "type": "external" + }, + "incommon": { + "file": "InCommon-metadata.xml", + "type": "local" + }, + "test": { + "file": "mdtest.xml", + "type": "local" + } +} + + +item = MDIMPORT[sys.argv[1]] + +metad = None + +if item["type"] == "local": + metad = MetaDataFile(sys.argv[1], ONTS.values(), item["file"]) +elif item["type"] == "external": + metad = MetaDataExtern(sys.argv[1], ONTS.values(), + item["url"], "/opt/local/bin/xmlsec1", item["cert"]) + +if metad: + metad.load() + print metad.dumps() + |