|
Bud P. Bruegger
bud at comune.grosseto.it
Thu May 19 10:27:12 EDT 2005
I'm a beginner and hope someone can straighten me out.
I am trying to write a simple handler that clicks in after mod-ssl has
requested a certificate from the client. Depending on the type of client
token (European eID cards), I'd like the handler to look at the client's
subject DN derive (by string manipulation or by lookup) a nationally unique
ID for the card holder.
Sounds simple enough--but I can't get it to work. I tried both, the authen
and the authz handlers. But neither from mod-ssl's +fakeBasicAuth nor from
the handlers req.user = 'xxx' do I get a REMOTE_USER env variable
set. Also the test evironment variable that I try to set in the
authen/authz handler doesn't have effect.
Does this possibly mean that the authen/authz handlers are not called at
all in my configuration? Should I use a different handler and which? Or
did I simply mess up something else?
Any help is highly appreciated!
cheers
-b
here the details of what I tried:
<VirtualHost *:443>
SSLCertificateFile /etc/apache2/ssl/apache.pem
# no client cert verification for Demo:
SSLVerifyClient optional_no_ca
# SSLCACertificatePath /etc/apache2/ssl/trusted/
# SSLVerifyDepth 3
LogLevel debug
SSLEngine on
DocumentRoot /var/www/
<Directory /var/www/sc>
SSLRequireSSL
SSLOptions +StdEnvVars +ExportCertData +FakeBasicAuth +StrictRequire
SetHandler mod_python
PythonHandler test
PythonAuthzHandler test
PythonDebug On
</Directory>
</VirtualHost>
and test.py:
from mod_python import apache
def authzhandler(req):
req.add_common_vars()
req.subprocess_env['insideAuthH']='valueSetFromAuthH'
req.user='pippo'
#return apache.HTTP_UNAUTHORIZED
return apache.OK
def handler(req):
req.add_common_vars()
req.subprocess_env['pytest']='itWorksFromPublisher'
req.content_type = "text/plain"
req.write("Environment Variables\n----------------------\n\n")
for item in req.subprocess_env.items():
req.write("%s: %s\n" % item)
req.write("\n\n")
return apache.OK
-------------------------------------------------------------------------------------------------
Ing. Bud P. Bruegger, Ph.D. +39-0564-488577
(voice), -21139 (fax)
Servizio Elaborazione Dati e-mail: bud at comune.grosseto.it
Comune di
Grosseto http://www.comune.grosseto.it/cie/
Via Ginori,
43 http://OpenPortalGuard.sf.net
58100 Grosseto (Tuscany, Italy) jabber: bud at amessage.info
Free Software in Public Administration: not just a good idea, but a necessity
Perfection is attained, not when there is nothing more to be added, but
when there is nothing more to be taken away -- Antoine de Saint-Exupery
|