Allow signature verification even on local files.
This commit is contained in:
@@ -107,12 +107,12 @@ def repack_cert(cert):
|
||||
|
||||
class MetaData(object):
|
||||
def __init__(self, onts, attrc, metadata="", node_name=None,
|
||||
check_validity=True, **kwargs):
|
||||
check_validity=True, security=None, **kwargs):
|
||||
self.onts = onts
|
||||
self.attrc = attrc
|
||||
self.entity = {}
|
||||
self.metadata = metadata
|
||||
self.security = None
|
||||
self.security = security
|
||||
self.node_name = node_name
|
||||
self.entities_descr = None
|
||||
self.entity_descr = None
|
||||
@@ -412,11 +412,13 @@ class MetaDataLoader(MetaDataFile):
|
||||
Handles Metadata file loaded by a passed in function.
|
||||
The format of the file is the SAML Metadata format.
|
||||
"""
|
||||
def __init__(self, onts, attrc, loader_callable, cert=None, **kwargs):
|
||||
def __init__(self, onts, attrc, loader_callable, cert=None,
|
||||
security=None, **kwargs):
|
||||
MetaData.__init__(self, onts, attrc, **kwargs)
|
||||
self.metadata_provider_callable = self.get_metadata_loader(
|
||||
loader_callable)
|
||||
self.cert = cert
|
||||
self.security = security
|
||||
|
||||
@staticmethod
|
||||
def get_metadata_loader(func):
|
||||
|
@@ -1119,11 +1119,11 @@ class CertHandler(object):
|
||||
self._verify_cert = verify_cert is True
|
||||
self._security_context = security_context
|
||||
self._osw = OpenSSLWrapper()
|
||||
if key_file is not None and os.path.isfile(key_file):
|
||||
if key_file and os.path.isfile(key_file):
|
||||
self._key_str = self._osw.read_str_from_file(key_file, key_type)
|
||||
else:
|
||||
self._key_str = ""
|
||||
if cert_file is not None:
|
||||
if cert_file and os.path.isfile(key_file):
|
||||
self._cert_str = self._osw.read_str_from_file(cert_file,
|
||||
cert_type)
|
||||
else:
|
||||
|
@@ -61,7 +61,13 @@ else:
|
||||
kwargs = {}
|
||||
|
||||
if args.type == "local":
|
||||
metad = MetaDataFile(ONTS.values(), args.item, args.item, **kwargs)
|
||||
if args.cert and args.xmlsec:
|
||||
crypto = _get_xmlsec_cryptobackend(args.xmlsec)
|
||||
sc = SecurityContext(crypto)
|
||||
metad = MetaDataFile(ONTS.values(), args.item, args.item,
|
||||
cert=args.cert, security=sc, **kwargs)
|
||||
else:
|
||||
metad = MetaDataFile(ONTS.values(), args.item, args.item, **kwargs)
|
||||
elif args.type == "external":
|
||||
ATTRCONV = ac_factory(args.attrsmap)
|
||||
httpc = HTTPBase()
|
||||
|
Reference in New Issue
Block a user