Thanks, Joe.

>Neither of the backwards-incompatible solutions look particularly
>desirable.  I can't think of a better way than Patch 3 really.  It would
>be nice if there was some way of just picking out the DNs by name from
>the already configured SSLCACertificate* chain e.g.
>
>   SSLCADNRequest /C=US/O=Blah/OU=...
>
>to avoid the chance of having a mismatch where the client is sent the
>wrong DNS, but you get into syntax issues and I don't know if OpenSSL
>even supports parsing dnames like that.

I thought about that too. It seems like a lot to do to get a stack of DNs 
built. But you know the OpenSSL code handles the I/O so well as is, I chose the 
lazy (smart) code reuse route. I haven't even bothered to look at the 
FindCAList code. Also, yes a person can, with this patch, in place shoot 
themself in the foot by requested CAs that he doesn't configure for trust.

>I don't think there's any need for the SSLCAProxyDN* you added in your
>patch, there is no equivalent point where the client sends DNs, but
>otherwise it looks OK.  Could you resubmit the patch without that bit?

I am not sure I understand. The func ssl_init_proxy_ctx() calls the same 
ssl_init_ctx() that ssl_init_server_ctx() does. And ssl_init_ctx() calls 
ssl_init_ctx_verify() which loads client auth cert stuff. To take the proxy 
directive support out would cascade into more changes to see if a function is 
executing for a proxy or not. Please clarify and I'll update the patch.
regards,
tt
317-510-5987

Reply via email to