Re: Access control by root CA of the client certificate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



​L
ast
​message
 
​I
 sent
​had
 formatting, I'm sorry.


Hi,
In our reverse proxy, we have a virtual host serving more than one Location.

Both locations require client certificate. SSLCACertificateFile includes all root CAs trusted by both locations.

So, in Location2 I would like to allow access only to certificates where the chain is:

CLIENT_CERT
\_ INTERMEDIATE_CERT (Issuer)
        \_ ROOT_CA (issuer's Issuer)  <-- can I access this with SSLRequire?

QUESTION: is there a way to control access by the root CA that is on top of the chain?

I tried SSLRequire but it seems I can't access the root cert, only the client cert and the intermediate (issuer) using SSL_CLIENT_I_DN.

I tried to use CustomLog and show %{SSL_CLIENT_CHAIN_1} and _2 but only the intermediate is logged in _1, nothing is logged in _2.

It seems the only way to do this is splitting location2 to another virtual host where I trust only the required root CA using SSLCACertificateFe would prefer to avoid that, we don't want to change the web service endpoint (both locations are web services).

Here's what I was trying:

<VirtualHost ws.my.domain>
  SSLCACertificateFile bundle.crt
    VerifyClient require
    SSLVerifyDepth 3
  <Location /location1>
...
  </Location>
  <Location /location2>
     VerfiyClient require
     SSLRequire %{SSL_CLIENT_CERT_CHAIN_1} == file("root1.pem")
...
  </Location>
</VirtualHost>

​I appreciate​
 any help,
Felipe

[Index of Archives]     [Open SSH Users]     [Linux ACPI]     [Linux Kernel]     [Linux Laptop]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Squid]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Device Mapper]

  Powered by Linux