Changeset 1454


Ignore:
Timestamp:
23/08/06 17:14:30 (13 years ago)
Author:
pjkersha
Message:

Added simple SOAP client/server interface for incorporation of WS-Security
signature.

Location:
TI12-security/trunk/python/Tests/xmlsec/WS-Security
Files:
4 added
1 copied

Legend:

Unmodified
Added
Removed
  • TI12-security/trunk/python/Tests/xmlsec/WS-Security/wsSecurity.py

    r1440 r1454  
    1212from ZSI.wstools.Namespaces import DSIG, OASIS, GLOBUS, WSU, WSA200403, BEA, \ 
    1313                                   SOAP 
     14                                    
     15from ZSI.TC import ElementDeclaration,TypeDefinition 
     16from ZSI.generate.pyclass import pyclass_type 
    1417 
    1518# XML Parsing 
     
    3538 
    3639 
     40 
     41 
    3742class SignatureHandler(object): 
    3843     
     
    4045    tokenRef = 10101 
    4146     
    42     def __init__(self, sign_body=True, sign_headers=True): 
     47    def __init__(self, 
     48                 certFilePath=None,  
     49                 priKeyFilePath=None,  
     50                 priKeyPwd=None,  
     51                 sign_body=True,  
     52                 sign_headers=True): 
     53         
     54        self.__certFilePath = certFilePath 
     55        self.__priKeyFilePath = priKeyFilePath 
     56        self.__priKeyPwd = priKeyPwd 
    4357         
    4458        self._can_algo = DSIG.C14N 
     
    92106            pass#self.signBodyElement(sw) 
    93107         
    94         pubKey = X509.load_cert(certFilePath) 
     108        pubKey = X509.load_cert(self.__certFilePath) 
    95109         
    96110        pubKeyPat = re.compile(\ 
     
    196210''' 
    197211 
    198     def sign(self, certFilePath, priKeyFilePath, priKeyPwd=None): 
     212    def sign(self, soapWriter): 
    199213 
    200214        # Use wsse:TransformationParameters with ds:Transforms?? 
     
    242256 
    243257        # Add X.509 cert as binary security token 
    244         x509Cert = X509.load_cert(certFilePath) 
     258        x509Cert = X509.load_cert(self.__certFilePath) 
    245259         
    246260        x509CertPat = re.compile(\ 
     
    454468        # Read X.509 Cert from wsse:BinarySecurityToken node 
    455469        # - leave out for now and read direct from hard coded pem file 
    456         x509Cert = X509.load_cert(certFilePath) 
     470        x509Cert = X509.load_cert(self.__certFilePath) 
    457471         
    458472        # Extract RSA public key from the cert 
     
    483497    txt = None 
    484498     
    485     s = SignatureHandler() 
     499    s = SignatureHandler(certFilePath='../Junk-cert.pem', 
     500                         priKeyFilePath='../Junk-key.pem', 
     501                         priKeyPwd=open('../tmp2').read().strip()) 
    486502     
    487503    if 'sign' in sys.argv: 
    488         txt = s.sign('../Junk-cert.pem', 
    489                      '../Junk-key.pem',  
    490                      open('../tmp2').read().strip())       
     504        txt = s.sign()       
    491505        print txt 
    492506 
     
    495509            txt = open('./wsseSign-test-res.xml').read() 
    496510             
    497         print "Signature OK? %s" % \ 
    498                             s.verify(txt, certFilePath='../Junk-cert.pem') 
     511        print "Signature OK? %s" % s.verify(txt) 
Note: See TracChangeset for help on using the changeset viewer.