SSL client verification context

Igor Sysoev igor at sysoev.ru
Thu Feb 10 19:09:27 MSK 2011


On Feb 10, 2011, at 19:03 , Matthias-Christian Ott wrote:

> On Thu, Feb 10, 2011 at 06:56:50PM +0300, Igor Sysoev wrote:
>> On Thu, Feb 10, 2011 at 04:36:03PM +0100, Matthias-Christian Ott wrote:
>>> On Thu, Feb 10, 2011 at 06:24:31PM +0300, Igor Sysoev wrote:
>>>> On Feb 10, 2011, at 18:04 , Matthias-Christian Ott wrote:
>>>>> 
>>>>> What I mean was the following
>>>>> 
>>>>> server {
>>>>>   location /a {
>>>>>       ssl_client_certificate a/ca.pem;
>>>>>       ssl_crl a/a.crl;
>>>>>   }
>>>>> 
>>>>>   location /b {
>>>>>       ssl_client_certificate b/ca.pem;
>>>>>       ssl_crl a/a.crl;
>>>>>   }
>>>>> }
>>>>> 
>>>>> As far as I can tell from the documentation, both Apache and lighttpd
>>>>> seems to support this.
>>>> 
>>>> It requires SSL re-handshake and nginx currently does not support it.
>>> 
>>> I'm not familiar with SSL, but from what I read in overviews, the client
>>> presents the client certificate to the server, so the server could check
>>> the certificate against multiple CAs without a re-handshake, right?
>> 
>> A client can present a certificate only at SSL handshake phase.
>> If on the first handshake the server did not ask the certificate,
>> it must do re-handshake.
> 
> Can't the client itself present to the server, so that the server
> doesn't have to ask?

http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslverifyclient

In per-server context it applies to the client authentication process
used in the standard SSL handshake when a connection is established.
In per-directory context it forces a SSL renegotation with the
reconfigured client verification level after the HTTP request was read
but before the HTTP response is sent.


--
Igor Sysoev
http://sysoev.ru/en/




More information about the nginx-devel mailing list