Certificado SSL comercial e certificado auto-assinado para autenticação

2

Eu tenho um host apache 2 em execução com um certificado assinado comercial (rapidssl) e preciso gerar certificados de cliente para autenticação.

Eu criei uma CA (de acordo com link ) e modifiquei meu apache arquivo de configuração de acordo.

<VirtualHost *:443>
  Servername SITEtest.XXX.com
  DocumentRoot /SITE/html

        CustomLog /SITE/html.log vhost_combined
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/comercialcert.cer
        SSLCertificateChainFile /etc/apache2/ssl/comercialcert.int
        SSLCertificateKeyFile /etc/apache2/ssl/comercialcert.key

  <Directory /SITE>
        AllowOverride All
        SSLRequireSSL
            SSLCACertificateFile /etc/apache2/ssl/selfsignedcaCA.crt
            SSLVerifyClient require
            SSLVerifyDepth 1
            SSLOptions +StrictRequire +StdEnvVars +ExportCertData +FakeBasicAuth
  </Directory>

</VirtualHost>

Eu importei um arquivo pkcs12 gerado com a mesma CA para o meu navegador. Toda vez que eu tento acessar eu recebo o erro "Re-negotiation handshake failed: Not accepted by client !?" no log de erros do apache.

Tudo funciona bem se eu usar um certificado gerado pela minha CA em SSLCertificateFile, mas isso não funciona como o navegador reconhece o certificado do servidor da web como auto-assinado.

Mais detalhes:

Apache / 2.2.9 (Debian Lenny) mod_ssl / 2.2.9 OpenSSL / 0.9.8g

    
por drcursor 27.09.2011 / 19:51

1 resposta

1

Você pode estar usando uma distribuição do apache que teve as soluções de renegociação do tis voltadas para ele. Uma coisa rápida para tentar é adicionar a diretiva SSLInsecureRenegotiation off . Se isso não funcionar, altere sua diretiva SSLVerifyClient para Optional .

Isso abrirá o servidor para vulnerabilidades de TLS Renegotiation para esse local de diretório, mas não há muito o que fazer sobre isso até que o Debian atualize sua distribuição (ou você compila sua própria distribuição).

    
por 29.09.2011 / 15:32