Hi Jan,
On Fri, 4 Feb 2000, Jan Meijer wrote:
> For the past days we have tried to get a SSL webserver running that does
> client authentication either by using client certificates or by using the
> username/password combination.
> OK, using the configuration:
> <Directory /usr/local/apache/htdocs/office-ca/secret2/>
> # Allow client certs as alternative to basic auth.
>   SSLRequireSSL
>   SSLVerifyClient optional
>   SSLVerifyDepth 3
>   SSLOptions           +FakeBasicAuth +StrictRequire
> Jan
I had the same requirements. 've added the +StdEnvVars and +CompatEnvVars to
SSLOptions which makes several envir vars available to cgi's
which can tested for a SSL_CLIENT_DN variable and if not exist, throw a logon
box on the screen (not the standard BasicAuth box) and allow the user to log on.
If the SSL_CLIENT_DN is found, fold the SSL_CLIENT_CERT by stripping the
begin and end certificate lines and remove all newlines. Then you have a string
you can compare against a local database of base64 public certs. If the cert is
not found it can still show a logonbox, allowing an admin user to "activate" the
certificate.

This works but envolves creating a simple logon cgi for your site.

I however experienced the strangest phenomena: in certain browsers the cert thatis 
offered differs in the last 4 chars of the base64 block. It stummed me a bit
and I got around it (very ugly) by stripping of the last 5 chars and doing a 
compare. Any advice on this issue would be greatly appreciated.

--
Eddie Dunckley - Obsidian Systems, home email (24hr delayed mail checks)
Leave voice messages at +2711-792-6500,   http://www.obsidian.co.za/eddie/
Join my mission to create a virtual office -see http://demo.obsidian.co.za
                              

______________________________________________________________________
Apache Interface to OpenSSL (mod_ssl)                   www.modssl.org
User Support Mailing List                      [EMAIL PROTECTED]
Automated List Manager                            [EMAIL PROTECTED]

Reply via email to