source: TI12-security/trunk/python/ndg.security.test/ndg/security/test/combinedservices/services.ini @ 4537

Subversion URL: http://proj.badc.rl.ac.uk/svn/ndg/TI12-security/trunk/python/ndg.security.test/ndg/security/test/combinedservices/services.ini@4537
Revision 4537, 15.6 KB checked in by pjkersha, 12 years ago (diff)

OpenID Provider Authentication interface:

  • added capability for defining OpenID identifier from authentication interface. Still needs to be tested in ID Select mode.
Line 
1#
2# NERC DataGrid Security
3#
4# Paste configuration for combined security web services deployment:
5# * Session Manager
6# * Attribute Authority
7#
8# The %(here)s variable will be replaced with the parent directory of this file
9#
10# Author: P J Kershaw
11# date: 30/11/05
12# Copyright: (C) 2008 STFC & NERC
13# license: This software may be distributed under the terms of the Q Public
14# License, version 1.0 or later.
15# Contact: Philip.Kershaw@stfc.ac.uk
16# Revision: $Id$
17
18[DEFAULT]
19# Settings for WS-Security signature handler
20#wsseCfgFilePath = %(here)s/services.ini
21#wsseCfgFileSection = WS-Security
22
23#______________________________________________________________________________
24# Attribute Authority settings
25# 'name' setting MUST agree with map config file 'thisHost' name attribute
26attributeAuthority.name: Site A
27
28# Lifetime is measured in seconds
29attributeAuthority.attCertLifetime: 28800 
30
31# Allow an offset for clock skew between servers running
32# security services. NB, measured in seconds - use a minus sign for time in the
33# past
34attributeAuthority.attCertNotBeforeOff: 0
35
36# All Attribute Certificates issued are recorded in this dir
37attributeAuthority.attCertDir: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/siteAAttributeAuthority/attCertLog
38
39# Files in attCertDir are stored using a rotating file handler
40# attCertFileLogCnt sets the max number of files created before the first is
41# overwritten
42attributeAuthority.attCertFileName: ac.xml
43attributeAuthority.attCertFileLogCnt: 16
44attributeAuthority.dnSeparator:/
45
46# Location of role mapping file
47attributeAuthority.mapConfigFile: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/siteAAttributeAuthority/siteAMapConfig.xml
48
49# Settings for custom AAUserRoles derived class to get user roles for given
50# user ID
51attributeAuthority.userRolesModFilePath: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/siteAAttributeAuthority
52attributeAuthority.userRolesModName: siteAUserRoles
53attributeAuthority.userRolesClassName: TestUserRoles
54
55# Config for XML signature of Attribute Certificate
56attributeAuthority.signingPriKeyFilePath: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/siteAAttributeAuthority/siteA-aa.key
57attributeAuthority.signingCertFilePath: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/siteAAttributeAuthority/siteA-aa.crt
58attributeAuthority.caCertFilePathList: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/ca/ndg-test-ca.crt
59
60#______________________________________________________________________________
61# Session Manager specific settings - commented out settings will take their
62# default settings.  To override the defaults uncomment and set as required.
63# See ndg.security.server.sessionMgr.SessionMgr class for details
64
65# Credential Wallet Settings - global to all user sessions
66#
67# CA certificates for Attribute Certificate signature validation
68sessionManager.credentialWallet.caCertFilePathList=$NDGSEC_COMBINED_SRVS_UNITTEST_DIR/ca/ndg-test-ca.crt
69
70# CA certificates for SSL connection peer cert. validation - required if
71# connecting to an Attribute Authority over SSL
72sessionManager.credentialWallet.sslCACertFilePathList=$NDGSEC_COMBINED_SRVS_UNITTEST_DIR/ca/ndg-test-ca.crt
73
74# Allow Get Attribute Certificate calls to try to get a mapped certificate
75# from another organisation trusted by the target Attribute Authority
76sessionManager.credentialWallet.mapFromTrustedHosts=True
77sessionManager.credentialWallet.rtnExtAttCertList=True
78
79# Refresh an Attribute Certificate, if an existing one in the wallet has only
80# this length of time left before it expires
81credentialWallet.attCertRefreshElapse=7200
82
83# Pointer to WS-Security settings.  These WS-Security settings are for use
84# by user credential wallets held in user sessions hosted by the Session
85# Manager.  They enable individual wallets to query Attribute Authorities for
86# user Attribute Certificates.  Nb. the difference between these settings and
87# the WS-Security section for handling requests to the Session Manager.
88#
89# Settings are identified by a prefix. 
90sessionManager.credentialWallet.wssCfgPrefix=sessionManager.credentialWallet.wssecurity
91
92# ...A section name could also be used.
93#sessionManager.credentialWallet.wssCfgSection=
94
95# SOAP Signature Handler settings for the Credential Wallet's Attribute
96# Authority interface
97#
98# CA Certificates used to verify X.509 certs used in Attribute Certificates.
99# The CA certificates of other NDG trusted sites should go here.  NB, multiple
100# values should be delimited by a space
101sessionManager.credentialWallet.wssecurity.caCertFilePathList: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/ca/ndg-test-ca.crt
102
103# Signature of an outbound message
104#
105# Certificate associated with private key used to sign a message.  The sign
106# method will add this to the BinarySecurityToken element of the WSSE header. 
107# binSecTokValType attribute must be set to 'X509' or 'X509v3' ValueType. 
108# As an alternative, use signingCertChain - see below...
109
110# PEM encoded cert
111sessionManager.credentialWallet.wssecurity.signingCertFilePath: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/sessionmanager/sm.crt
112
113# ... or provide file path to PEM encoded private key file
114sessionManager.credentialWallet.wssecurity.signingPriKeyFilePath: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/sessionmanager/sm.key
115
116# Set the ValueType for the BinarySecurityToken added to the WSSE header for a
117# signed message.  See __setReqBinSecTokValType method and binSecTokValType
118# class variable for options - it may be one of X509, X509v3, X509PKIPathv1 or
119# give full namespace to alternative - see
120# ZSI.wstools.Namespaces.OASIS.X509TOKEN
121#
122# binSecTokValType determines whether signingCert or signingCertChain
123# attributes will be used.
124sessionManager.credentialWallet.wssecurity.reqBinSecTokValType: X509v3
125
126# Add a timestamp element to an outbound message
127sessionManager.credentialWallet.wssecurity.addTimestamp: True
128
129# For WSSE 1.1 - service returns signature confirmation containing signature
130# value sent by client
131sessionManager.credentialWallet.wssecurity.applySignatureConfirmation: True
132
133# Authentication service properties
134sessionManager.authNService.moduleFilePath: 
135sessionManager.authNService.moduleName: ndg.security.test.combinedservices.sessionmanager.userx509certauthn
136sessionManager.authNService.className: UserX509CertAuthN
137
138# Specific settings for UserCertAuthN Session Manager authentication plugin
139# This sets up PKI credentials for a single test account
140sessionManager.authNService.userX509CertFilePath: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/sessionmanager/user.crt
141sessionManager.authNService.userPriKeyFilePath: $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/sessionmanager/user.key
142sessionManager.authNService.userPriKeyPwd: testpassword
143
144[server:main]
145use = egg:Paste#http
146host = 0.0.0.0
147port = 5000
148
149[app:mainApp]
150paste.app_factory = ndg.security.test.combinedservices.serverapp:app_factory
151
152# Chain of SOAP Middleware filters
153[pipeline:main]
154pipeline = wsseSignatureVerificationFilter
155                   AttributeAuthorityFilter
156           SessionManagerFilter
157           wsseSignatureFilter
158           httpBasicAuthFilter
159           SessionMiddlewareFilter
160           OpenIDProviderFilter
161           mainApp
162
163#______________________________________________________________________________
164# Attribute Authority WSGI settings
165#
166[filter:AttributeAuthorityFilter]
167# This filter is a container for a binding to a SOAP based interface to the
168# Attribute Authority
169paste.filter_app_factory = ndg.security.server.wsgi.soap:SOAPBindingMiddleware
170
171# Use this ZSI generated SOAP service interface class to handle i/o for this
172# filter
173ServiceSOAPBindingClass = ndg.security.server.zsi.attributeauthority.AttributeAuthorityWS
174
175# SOAP Binding Class specific keywords are in this section identified by this
176# prefix:
177ServiceSOAPBindingPropPrefix = AttributeAuthority
178
179# The AttributeAuthority class has settings in the default section above
180# identified by this prefix:
181AttributeAuthority.propPrefix = attributeAuthority
182AttributeAuthority.propFilePath = $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/services.ini
183
184# Provide an identifier for this filter so that main WSGI app
185# CombinedServicesWSGI Session Manager filter can call this Attribute Authority
186# directly
187referencedFilters = ndg.security.server.wsgi.wsseSignatureVerificationFilter01
188
189# Path from URL for Attribute Authority in this Paste deployment
190path = /AttributeAuthority
191
192# Enable ?wsdl query argument to list the WSDL content
193enableWSDLQuery = True
194charset = utf-8
195filterID = ndg.security.server.wsgi.attributeAuthorityFilter
196
197#______________________________________________________________________________
198# Session Manager WSGI settings
199#
200[filter:SessionManagerFilter]
201# This filter is a container for a binding to a SOAP based interface to the
202# Session Manager
203paste.filter_app_factory = ndg.security.server.wsgi.soap:SOAPBindingMiddleware
204
205# Use this ZSI generated SOAP service interface class to handle i/o for this
206# filter
207ServiceSOAPBindingClass = ndg.security.server.zsi.sessionmanager.SessionManagerWS
208
209# SOAP Binding Class specific keywords are in this section identified by this
210# prefix:
211ServiceSOAPBindingPropPrefix = SessionManager
212
213# The SessionManager class has settings in the default section above identified
214# by this prefix:
215SessionManager.propPrefix = sessionManager
216SessionManager.propFilePath = $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/services.ini
217
218# This filter references other filters - a local Attribute Authority (optional)
219# and a WS-Security signature verification filter (required if using signature
220# to authenticate user in requests
221SessionManager.attributeAuthorityFilterID = ndg.security.server.wsgi.attributeAuthorityFilter
222SessionManager.wsseSignatureVerificationFilterID = ndg.security.server.wsgi.wsseSignatureVerificationFilter01
223
224# The SessionManagerWS SOAP interface class needs to know about these other
225# filters
226referencedFilters = ndg.security.server.wsgi.wsseSignatureVerificationFilter01 ndg.security.server.wsgi.attributeAuthorityFilter
227
228# Path from URL for Session Manager in this Paste deployment
229path = /SessionManager
230
231# Enable ?wsdl query argument to list the WSDL content
232enableWSDLQuery = True
233charset = utf-8
234
235# Provide an identifier for this filter so that main WSGI app
236# CombinedServicesWSGI can call this Session Manager directly
237filterID = ndg.security.server.wsgi.sessionManagerFilter
238
239#______________________________________________________________________________
240# WS-Security Signature Verification
241[filter:wsseSignatureVerificationFilter]
242paste.filter_app_factory = ndg.security.server.wsgi.wssecurity:SignatureVerificationFilter
243filterID = ndg.security.server.wsgi.wsseSignatureVerificationFilter01
244
245# Settings for WS-Security SignatureHandler class used by this filter
246#wsseCfgFilePath = %(here)s/services.ini
247#wsseCfgFileSection = WS-Security
248wsseCfgFilePrefix = wssecurity
249
250# Verify against known CAs - Provide a space separated list of file paths
251wssecurity.caCertFilePathList=$NDGSEC_COMBINED_SRVS_UNITTEST_DIR/ca/ndg-test-ca.crt
252#wssecurity.caCertFilePathList=$NDGSEC_COMBINED_SRVS_UNITTEST_DIR/ca/ndg-test-ca.crt $NDGSEC_COMBINED_SRVS_UNITTEST_DIR/ca/java-ca.crt
253
254#______________________________________________________________________________
255# Apply WS-Security Signature
256[filter:wsseSignatureFilter]
257paste.filter_app_factory = ndg.security.server.wsgi.wssecurity:ApplySignatureFilter
258
259# Reference the verification filter in order to be able to apply signature
260# confirmation
261referencedFilters = ndg.security.server.wsgi.wsseSignatureVerificationFilter01
262wsseSignatureVerificationFilterID = ndg.security.server.wsgi.wsseSignatureVerificationFilter01
263
264# Last filter in chain of SOAP handlers writes the response
265writeResponse = True
266
267# Settings for WS-Security SignatureHandler class used by this filter
268wsseCfgFilePrefix = wssecurity
269
270# Certificate associated with private key used to sign a message.  The sign
271# method will add this to the BinarySecurityToken element of the WSSE header. 
272wssecurity.signingCertFilePath=$NDGSEC_COMBINED_SRVS_UNITTEST_DIR/siteAAttributeAuthority/siteA-aa.crt
273#wssecurity.signingCertFilePath=$NDGSEC_COMBINED_SRVS_UNITTEST_DIR/siteAAttributeAuthority/java-ca-server.crt
274
275# PEM encoded private key file
276wssecurity.signingPriKeyFilePath=$NDGSEC_COMBINED_SRVS_UNITTEST_DIR/siteAAttributeAuthority/siteA-aa.key
277#wssecurity.signingPriKeyFilePath=$NDGSEC_COMBINED_SRVS_UNITTEST_DIR/siteAAttributeAuthority/java-ca-server.key
278
279# Set the ValueType for the BinarySecurityToken added to the WSSE header for a
280# signed message.  See __setReqBinSecTokValType method and binSecTokValType
281# class variable for options - it may be one of X509, X509v3, X509PKIPathv1 or
282# give full namespace to alternative - see
283# ZSI.wstools.Namespaces.OASIS.X509TOKEN
284#
285# binSecTokValType determines whether signingCert or signingCertChain
286# attributes will be used.
287wssecurity.reqBinSecTokValType=X509v3
288
289# Add a timestamp element to an outbound message
290wssecurity.addTimestamp=True
291
292# For WSSE 1.1 - service returns signature confirmation containing signature
293# value sent by client
294wssecurity.applySignatureConfirmation=True
295
296#______________________________________________________________________________
297# Apply HTTP Basic Authentication using AuthKit to enable a convenient no SOAP
298# based call to Session Manager connect method
299[filter:httpBasicAuthFilter]
300paste.filter_app_factory = authkit.authenticate:middleware
301setup_method=basic
302basic_realm=NDG Security Combined Services Tests
303basic_authenticate_function=ndg.security.test.combinedservices.serverapp:CombinedServicesWSGI.httpBasicAuthentication
304
305
306#______________________________________________________________________________
307# OpenID Provider WSGI Settings
308[filter:OpenIDProviderFilter]
309paste.filter_app_factory=ndg.security.server.wsgi.openid_provider:OpenIDProviderMiddleware
310openid.provider.path.openidserver=/openid/endpoint
311openid.provider.path.login=/openid/login
312openid.provider.path.loginsubmit=/openid/loginsubmit
313
314# Comment out next two lines and uncomment the third to disable URL based
315# discovery and allow only Yadis based instead
316openid.provider.path.id=/openid/id
317openid.provider.path.yadis=/openid/yadis
318#openid.provider.path.yadis=/id/
319
320openid.provider.path.serveryadis=/openid/serveryadis
321openid.provider.path.allow=/openid/allow
322openid.provider.path.decide=/openid/decide
323openid.provider.path.mainpage=/openid/
324openid.provider.session_middleware=beaker.session
325openid.provider.base_url=http://localhost:8000
326#openid.provider.consumer_store_dirpath=./
327openid.provider.trace=False
328#openid.provider.renderingClass=ndg.security.server.pylons.container.lib.openid_provider_util.OpenIDProviderKidRendering
329openid.provider.renderingClass=ndg.security.server.wsgi.openid_provider.DemoRenderingInterface
330openid.provider.sregResponseHandler=ndg.security.server.pylons.container.lib.openid_provider_util:esgSRegResponseHandler
331openid.provider.axResponseHandler=ndg.security.server.pylons.container.lib.openid_provider_util:esgAXResponseHandler
332openid.provider.authNInterface=ndg.security.server.wsgi.openid_provider.BasicAuthNInterface
333openid.provider.authN.userCreds=pjk:test
334openid.provider.authN.username2UserIdentifiers=pjk:PhilipKershaw,P.J.Kershaw
335
336# Basic authentication for testing/admin - comma delimited list of
337# <username>:<password> pairs
338#openid.provider.usercreds=pjk:test
339
340#______________________________________________________________________________
341# Beaker Session Middleware (used by OpenID Provider Filter)
342[filter:SessionMiddlewareFilter]
343paste.filter_app_factory=beaker.middleware:SessionMiddleware
344
345# Logging configuration
346[loggers]
347keys = root, ndg
348
349[handlers]
350keys = console
351
352[formatters]
353keys = generic
354
355[logger_root]
356level = INFO
357handlers = console
358
359[logger_ndg]
360level = DEBUG
361handlers =
362qualname = ndg
363
364[handler_console]
365class = StreamHandler
366args = (sys.stderr,)
367level = NOTSET
368formatter = generic
369
370[formatter_generic]
371format = %(asctime)s,%(msecs)03d %(levelname)-5.5s [%(name)s] %(message)s
372datefmt = %H:%M:%S
373
Note: See TracBrowser for help on using the repository browser.