Changeset 1649


Ignore:
Timestamp:
30/10/06 11:37:23 (13 years ago)
Author:
pjkersha
Message:

Updated SignatureHandler?.verify to handle Exclusive canonicalization algorithm.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/Tests/SimpleCA/wsSecurity.py

    r1618 r1649  
    273273    def verify(self, parsedSOAP): 
    274274        """Verify signature""" 
    275      
     275         
    276276        processorNss = \ 
    277277        { 
     
    328328                 
    329329            # Add extra keyword for Exclusive canonicalization method 
    330             kw = {} 
     330            c14nKw = {} 
    331331            if algorithm == DSIG.C14N_EXCL: 
    332332                try: 
    333                     inclusiveNS = transforms[0].getElement(DSIG.C14N_EXCL,  
    334                                                        "InclusiveNamespaces") 
    335                     kw['unsuppressedPrefixes'] = \ 
    336                     inclusiveNS.getAttributeValue(None, "PrefixList").split() 
     333                    inclusiveNS = getElements(transforms[0],  
     334                                              "InclusiveNamespaces") 
     335                     
     336                    pfxListAttNode = inclusiveNS[0].getAttributeNodeNS(None,  
     337                                                               'PrefixList') 
     338                    c14nKw['unsuppressedPrefixes'] = \ 
     339                                                pfxListAttNode.value.split() 
    337340                except: 
    338341                    raise VerifyError, \ 
     
    351354                                     context=ctxt)[0] 
    352355 
    353             c14nRef = Canonicalize(uriNode, **kw) 
     356            c14nRef = Canonicalize(uriNode, **c14nKw) 
    354357            digestValue = base64.encodestring(sha(c14nRef).digest()).strip() 
    355358             
     
    360363            # Reference validates if the two digest values are the same 
    361364            if digestValue != nodeDigestValue: 
    362                 raise VerifyError, 'Digest Values do not match for URI: "%s"' %\ 
    363                                                                         refURI 
     365                raise VerifyError, \ 
     366                        'Digest Values do not match for URI: "%s"' % refURI 
    364367                 
    365368        # 2) Signature Validation 
Note: See TracChangeset for help on using the changeset viewer.