@@ -315,17 +315,20 @@ def signed_instance_factory(instance, seccont, elements_to_sign=None):
315315 :param elements_to_sign: Which parts if any that should be signed
316316 :return: A class instance if not signed otherwise a string
317317 """
318- if elements_to_sign :
319- signed_xml = instance
320- if not isinstance (instance , six .string_types ):
321- signed_xml = instance .to_string ()
322- for (node_name , nodeid ) in elements_to_sign :
323- signed_xml = seccont .sign_statement (
324- signed_xml , node_name = node_name , node_id = nodeid )
325- return signed_xml
326- else :
318+ if not elements_to_sign :
327319 return instance
328320
321+ signed_xml = instance
322+ if not isinstance (instance , six .string_types ):
323+ signed_xml = instance .to_string ()
324+
325+ for (node_name , nodeid ) in elements_to_sign :
326+ signed_xml = seccont .sign_statement (
327+ signed_xml , node_name = node_name , node_id = nodeid
328+ )
329+
330+ return signed_xml
331+
329332
330333def make_temp (content , suffix = "" , decode = True , delete_tmpfiles = True ):
331334 """
@@ -1740,10 +1743,11 @@ def multiple_signatures(self, statement, to_sign, key=None, key_file=None, sign_
17401743
17411744 if not item .signature :
17421745 item .signature = pre_signature_part (
1743- sid ,
1744- self .cert_file ,
1745- sign_alg = sign_alg ,
1746- digest_alg = digest_alg )
1746+ ident = sid ,
1747+ public_key = self .cert_file ,
1748+ sign_alg = sign_alg ,
1749+ digest_alg = digest_alg ,
1750+ )
17471751
17481752 statement = self .sign_statement (
17491753 statement ,
@@ -1757,7 +1761,13 @@ def multiple_signatures(self, statement, to_sign, key=None, key_file=None, sign_
17571761
17581762
17591763# XXX FIXME calls DefaultSignature - remove to unveil chain of calls without proper args
1760- def pre_signature_part (ident , public_key = None , identifier = None , digest_alg = None , sign_alg = None ):
1764+ def pre_signature_part (
1765+ ident ,
1766+ public_key = None ,
1767+ identifier = None ,
1768+ digest_alg = None ,
1769+ sign_alg = None ,
1770+ ):
17611771 """
17621772 If an assertion is to be signed the signature part has to be preset
17631773 with which algorithms to be used, this function returns such a
@@ -1770,10 +1780,12 @@ def pre_signature_part(ident, public_key=None, identifier=None, digest_alg=None,
17701780 :return: A preset signature part
17711781 """
17721782
1783+ # XXX
17731784 if not digest_alg :
17741785 digest_alg = ds .DefaultSignature ().get_digest_alg ()
17751786 if not sign_alg :
17761787 sign_alg = ds .DefaultSignature ().get_sign_alg ()
1788+
17771789 signature_method = ds .SignatureMethod (algorithm = sign_alg )
17781790 canonicalization_method = ds .CanonicalizationMethod (
17791791 algorithm = ds .ALG_EXC_C14N )
0 commit comments