Full_Name: winni
Version: 2.4.2
OS: AIX 4.3.3 (AIX4.3.2)
Submission from: (NULL) (129.181.209.36)


Hi togehther,

well I have problems to understand the verification process within client
authentification 
:-((

If I have these certifiate structure :

                        ROOT-CA (selfsign cert)
                                |
                                Intermediate1 CA ( sign by ROOT-CA)
                                        |                               
                                        Client Certificate1 (sign by Intermediate1 CA)
                                        |
                                        Client Certificate2 (sign by Intermediate1 CA)
                                |
                                |
                                Intermediate2 CA ( sign by ROOT-CA)
                                        |                               
                                        Client Certificate3 (sign by Intermediate2 CA)
                                        |
                                        Client Certificate4 (sign by Intermediate2 CA)


Within the apache-Server I define Client Authentification like :

httpd.conf:

...
Listen 443
Listen 444
...

# Application No.1
<VirtualHost myIP:443>
        ... 
        DocumentRoot /usr/local/apache/htdocs
        
        SSLEngine on
        
        # Server Cert
        SSLCertificateFile /usr/local/apache/conf/ssl.crt/Server.crt
        SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/Server.key
                             
        # Client Authentification !!
        SSLVerifyClient require
          # Depth = 2 because I have to use two signer and on client cert !!
        SSLVerifyDepth 2
          # Within these file there are placed the ROOT-CA and the Intermediate1 CA
        SSLCACertificateFile /usr/local/apache/443/CAcert.pem
        SSLCARevocationPath /usr/local/apache/443
        SSLCARevocationFile /usr/local/apache/443/crl.pem

          # I use also the ProxyPass for redirection !!             
        ProxyPass / http://myOtherIP1
        ProxyPassReverse / http://myOtherIP1 
</VirtualHost>

# Application No.2
<VirtualHost myIP:444>
        ... 
        DocumentRoot /usr/local/apache/htdocs
                
        SSLEngine on
        
        # Server Cert
        SSLCertificateFile /usr/local/apache/conf/ssl.crt/Server.crt
        SSLCertificateKeyFile /usr/local/apache/conf/ssl.key/Server.key
                             
        # Client Authentification !!
        SSLVerifyClient require
          # Depth = 2 because I have to use two signer and on client cert !!
        SSLVerifyDepth 2
          # Within these file there are placed the ROOT-CA and the Intermediate2 CA
        SSLCACertificateFile /usr/local/apache/444/CAcert.pem
        SSLCARevocationPath /usr/local/apache/444
        SSLCARevocationFile /usr/local/apache/444/crl.pem

          # I use also the ProxyPass for redirection !!             
        ProxyPass / http://myOtherIP2
        ProxyPassReverse / http://myOtherIP2 
</VirtualHost>



If I access Application No.1 (https://myIP:443) with the correct
Client-Certificate (Client 
Certificate 1 or 2) the access is allow !!  That's OK  :-)

Buuuut
If I access Application No.1 (https://myIP:443) with the  Client-Certificate
(Client 
Certificate 3 or 4)the access is also allow !! That's NOT OK  :-((  
The Intermediate1 CA and the ROOT-CA are only known by the virtualhost:443. So
modssl can't 
verify Intermediate2 CA !!!!  
It looks like that only the verification of the (same) ROOT-CA is 
sufficient to verify the client certificates and not the signer certificate of
the client certificate !!! 
I think that can't be a feature ! I would assume that ALL certificates whithin a
chain
have to be verify correctly befor an access could be established !!!!!! 

Well I have also use the ProxyPass within the httpd.conf. That is important to
know because 
if I don't use 
these feature I can fix the problem with the following additional definitions in
httpd.conf:
        
        # Application No.1
        <VirtualHost myIP:443>
                ...
                <Directory /usr/local/apache/htdocs>
                SSLRequire  %{SSL_CLIENT_I_DN_CN} eq "Intermediate1 CA"    
                </Directory
                ...
        </VirtualHost>
        
        # Application No.2
        <VirtualHost myIP:444>
                ...
                <Directory /usr/local/apache/htdocs>
                SSLRequire  %{SSL_CLIENT_I_DN_CN} eq "Intermediate2 CA"    
                </Directory
                ...
        </VirtualHost>

Because of the priority within the apache server parse definitions the ProxyPass
definiton 
are first parsed and the 
<Directory> definition. If I use both of them only the ProxyPass defintion are
used and the 
<Directory>
definiton has no meaning :-((   
(I have to use the / within the ProxyPass because all request are redirected !
)



Releases :
apache  : 1.3.9
modssl  : 2.4.2
openssl : 0.9.4
OS      : AIX 4.3.2


Any ideas to solve this problem ???

hope of support ....

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

Reply via email to