diff --git a/src/saml2/config.py b/src/saml2/config.py index 9b7debcb4..6e2d747c7 100644 --- a/src/saml2/config.py +++ b/src/saml2/config.py @@ -30,6 +30,7 @@ COMMON_ARGS = [ "debug", "entityid", + "xmlsec_disabled_algs", "xmlsec_binary", "key_file", "cert_file", @@ -189,6 +190,7 @@ class Config(object): def __init__(self, homedir="."): self._homedir = homedir self.entityid = None + self.xmlsec_disabled_algs = [] self.xmlsec_binary = None self.xmlsec_path = [] self.debug = False diff --git a/src/saml2/metadata.py b/src/saml2/metadata.py index 5c465032b..b092dfd37 100644 --- a/src/saml2/metadata.py +++ b/src/saml2/metadata.py @@ -735,6 +735,8 @@ def entity_descriptor(confd): _add_attr_to_entity_attributes(entd.extensions, attr) for item in algorithm_support_in_metadata(confd.xmlsec_binary): + if item.algorithm in getattr(confd, 'xmlsec_disabled_algs'): + continue if not entd.extensions: entd.extensions = md.Extensions() entd.extensions.add_extension_element(item)