Changeset 4171
- Timestamp:
- 03/09/08 16:40:00 (11 years ago)
- Location:
- TI12-security/trunk/python
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
TI12-security/trunk/python/Tests/pylonsAttributeAuthority/ndgsecurity/development.ini
r4159 r4171 33 33 path = /AttributeAuthority 34 34 enableWSDLQuery = True 35 charset = utf-8 35 36 36 37 [filter:wsseSignatureVerificationFilter] … … 54 55 # Logging configuration 55 56 [loggers] 56 keys = root, ndgsecurity 57 keys = root, ndgsecurity, ndg 57 58 58 59 [handlers] -
TI12-security/trunk/python/ndg.security.common/ndg/security/common/wssecurity/BaseSignatureHandler.py
r4159 r4171 290 290 elif self.cfg.get('caCertFilePathList'): 291 291 self.caCertFilePathList = self.cfg['caCertFilePathList'] 292 293 self._caX509Stack = []294 292 295 293 self.addTimestamp = self.cfg['addTimestamp'] … … 660 658 @type caCertList: M2Crypto.X509.X509 certificate objects''' 661 659 662 if not self.caCertIsSet:660 if not hasattr(self, '_caX509Stack'): 663 661 self._caX509Stack = X509Stack() 664 662 -
TI12-security/trunk/python/ndg.security.server/ndg/security/server/SessionMgr/__init__.py
r4158 r4171 1116 1116 """Update existing properties from an input dictionary 1117 1117 Check input keys are valid names""" 1118 raise NotImplementedError , \1119 self.getRoles.__doc__.replace('\n ','')1118 raise NotImplementedError( 1119 self.setProperties.__doc__.replace('\n ','')) 1120 1120 1121 1121 … … 1141 1141 issuing certificate is only set if the user certificate is a proxy 1142 1142 """ 1143 raise NotImplementedError, \ 1144 self.getRoles.__doc__.replace('\n ','') 1145 1143 raise NotImplementedError(self.logon.__doc__.replace('\n ','')) 1144 -
TI12-security/trunk/python/ndg.security.server/ndg/security/server/wsgi/openid_provider.py
r4162 r4171 341 341 @rtype: basestring 342 342 @return: WSGI response 343 344 343 """ 345 344 -
TI12-security/trunk/python/ndg.security.server/ndg/security/server/wsgi/soap.py
r4159 r4171 31 31 '''Middleware configurable to a given ZSI SOAP binding''' 32 32 33 soapWriterKey = 'ZSI.writer.SoapWriter' 34 parsedSOAPKey = 'ZSI.parse.ParsedSoap' 35 33 36 def __init__(self, app, app_conf, **kw): 34 37 log.debug("SOAPMiddleware.__init__ ...") … … 36 39 self.app_conf = app_conf 37 40 self.app_conf.update(kw) 41 42 if 'charset' in self.app_conf: 43 self.app_conf['charset'] = '; ' + self.app_conf['charset'] 44 else: 45 self.app_conf['charset'] = '; charset=utf-8' 46 38 47 39 48 if 'path' not in self.app_conf: … … 62 71 def __call__(self, environ, start_response): 63 72 log.debug("SOAPMiddleware.__call__") 64 73 74 charset_ = self.app_conf['charset'] 65 75 def start_response_wrapper(status, response_hdrs, exc_info=None): 66 76 '''Ensure text/xml content type and set content length''' 67 77 68 contentKeys = ('content-type', 'content-length') 78 log.debug("Altering content-type to text/xml...") 79 contentKeys = ('content-type',)#('content-type', 'content-length') 69 80 response_hdrs_alt = [(name, val) for name, val in response_hdrs\ 70 81 if name.lower() not in contentKeys] 71 82 72 response_hdrs_alt += [('content-type', 'text/xml' ),73 ('content-length', str(len(self.soapOut)))] 83 response_hdrs_alt += [('content-type', 'text/xml'+charset_)] 84 74 85 75 86 return start_response(status, response_hdrs_alt, exc_info) … … 100 111 req, resp = method(ps) 101 112 except Exception, e: 102 s elf._writeFault(req, resp)103 104 # Serialize output using SOAP writer class105 sw = SoapWriter()106 sw.serialize(resp)113 sw = self.exception2SOAPFault(e) 114 else: 115 # Serialize output using SOAP writer class 116 sw = SoapWriter() 117 sw.serialize(resp) 107 118 108 119 # Make SoapWriter object available to any SOAP filters that follow 109 environ[ 'ZSI.writer.SoapWriter'] = sw120 environ[SOAPMiddleware.soapWriterKey] = sw 110 121 self.soapOut = str(sw) 111 122 … … 114 125 log.debug(self.soapOut) 115 126 log.debug("_"*80) 116 # 117 # if soap is not None: 118 # return self._writeResponse(request, soap) 127 128 return self.app(environ, start_response_wrapper) 129 130 131 def exception2SOAPFault(self, e): 132 '''Convert an exception into a SOAP fault message''' 133 soapFault = fault.FaultFromException(e, None) 134 sw = SoapWriter() 135 soapFault.serialize(sw) 136 return sw 137 119 138 120 app = self.app(environ, start_response_wrapper)121 #start_response("200 OK", [('Content-type', 'text/xml')])122 return self.soapOut123 124 139 @classmethod 125 140 def isSOAPMessage(cls, environ): … … 143 158 # Check for ParsedSoap object set in environment, if not present, 144 159 # make one 145 ps = environ.get( 'ZSI.parse.ParsedSoap')160 ps = environ.get(SOAPMiddleware.parsedSOAPKey) 146 161 if ps is None: 147 162 # TODO: allow for chunked data … … 160 175 161 176 ps = ParsedSoap(soapIn) 162 environ[ 'ZSI.parse.ParsedSoap'] = ps177 environ[SOAPMiddleware.parsedSOAPKey] = ps 163 178 164 return environ[ 'ZSI.parse.ParsedSoap']179 return environ[SOAPMiddleware.parsedSOAPKey] 165 180 166 181 @classmethod 182 def getSOAPWriter(cls, environ): 183 '''Access SoapWriter object set in environment by this classes' call 184 method''' 185 186 sw = environ.get(SOAPMiddleware.soapWriterKey) 187 if sw is None: 188 raise KeyError("Expecting '%s' key in environ: missing call to " 189 "SOAPMiddleware?" % SOAPMiddleware.soapWriterKey) 190 return sw 191 192 167 193 def makeFilter(app, app_conf): 168 from ndgsecurity.config.attributeauthority import AttributeAuthorityWS 169 170 return SOAPMiddleware(app, app_conf, 171 ServiceSOAPBinding=AttributeAuthorityWS(), 172 path='/AttributeAuthority') 194 return SOAPMiddleware(app, app_conf) -
TI12-security/trunk/python/ndg.security.server/ndg/security/server/wsgi/wssecurity.py
r4159 r4171 48 48 app = self.app(environ, start_response) 49 49 50 if 'ZSI.writer.SoapWriter' not in environ: 51 raise KeyError("Expecting 'ZSI.writer.SoapWriter' key in environ") 50 sw = self.getSOAPWriter(environ) 51 self.signatureHandler.sign(sw) 52 self.soapOut = str(sw) 52 53 53 sw = environ['ZSI.writer.SoapWriter'] 54 self.signatureHandler.sign(sw) 55 soapOut = str(sw) 56 57 return soapOut 54 # try: 55 # start_response('200 OK', 56 # [('Content-Length', str(len(self.soapOut))), 57 # ('Content-type', 'text/xml')]) 58 # except Exception, e: 59 # raise 60 return self.soapOut 58 61 59 62 … … 73 76 # Pass on in environment as an efficiency measure for any following 74 77 # SOAP Middleware 75 environ['ZSI.parse.ParsedSoap'] = ps76 78 return self.app(environ, start_response) 77 79 -
TI12-security/trunk/python/ndg.security.test/ndg/security/test/attAuthority/AttAuthorityClientTest.py
r4129 r4171 16 16 import os, sys, getpass, re 17 17 from ConfigParser import SafeConfigParser 18 import logging 19 logging.basicConfig() 18 20 19 21 from ndg.security.common.AttAuthority import AttAuthorityClient
Note: See TracChangeset
for help on using the changeset viewer.