A diretiva SSLCertificateChainFile obsoleta do Apache (AH02559)

8

Recentemente, atualizei o Apache de 2.2 para 2.4 e não consigo descobrir como descartar uma diretiva SSLCertificateChainFile .

O erro:

me@jessie:~$ sudo apache2ctl configtest 
AH02559: The SSLCertificateChainFile directive (/etc/apache2/sites-enabled/https.conf:103) is deprecated, SSLCertificateFile should be used instead
Syntax OK

Minhas configurações atuais:

SSLCertificateFile    /etc/apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/apache2/cert/ssl.key
SSLCertificateChainFile /etc/apache2/cert/sub.class1.server.sha2.ca.pem
SSLCACertificateFile /etc/apache2/cert/ca.pem

O certificado é assinado pelo StartCOM. Manual diz, agora toda a cadeia deve estar em um arquivo, especificado pela diretiva SSLCertificateFile , mas eu não sei quais chaves e em qual ordem devo concatenar para este arquivo.

    
por TranslucentCloud 06.05.2015 / 11:07

2 respostas

8

Considerando que você está usando isso na configuração do seu apache:

SSLCertificateFile    /etc/apache2/cert/ssl.crt
SSLCertificateKeyFile /etc/apache2/cert/ssl.key

O arquivo /etc/apache2/cert/ssl.crt deve conter

  1. certificado de por ex. yourdomain.com
  2. certificado da primeira CA intermediária, assinado pela CA raiz (por exemplo, CA do Servidor Intermediário Principal da Classe 1 daStartCom)
  3. certificado da segunda CA intermediária, assinado pela primeira CA intermediária (se houver uma segunda CA intermediária na cadeia de certificados)

Você precisa colocar todos os certificados da CA intermediária no arquivo crt. Dependendo da cadeia de certificados do seu certificado, haverá um número variável de CAs envolvidas.

Você nem precisa adicionar a CA raiz, pois ela precisa estar no armazenamento confiável de qualquer cliente; caso contrário, os clientes receberão uma página de erro. Além disso, se você adicioná-la à sua cadeia, ela será apenas sobrecarga adicional para estabelecer conexões SSL, já que ela deve ser transferida para cada nova sessão SSL. Na verdade, a maioria dos clientes também possui certificados CA intermediários instalados, mas alguns podem não ter, por exemplo. telefones celulares não têm muitos certificados de CA intermediários, então eu definitivamente adicionaria esses.

O arquivo /etc/apache2/cert/ssl.key permanecerá o mesmo, ou seja, ele conterá a chave do certificado yourdomain.com

    
por 06.05.2015 / 11:18
1

Ok, finalmente percebi isso ultimamente e decidi postar detalhes no formulário de resposta.

Agora o StartSSL coloca o certificado no arquivo zip quando você o recupera e há muitos arquivos incluídos nele, um de interesse particular é ApacheServer.zip , um formato compatível com Apache > 2.4. Os arquivos na pasta Apache são:

1_root_bundle.crt
2_myhost.tld.crt

Você precisa preparar SSLCertificateFile de ambos os certificados, mas nesta ordem:

cat 2_myhost.tld.crt 1_root_bundle.crt > myhost.tld_combined.crt

Então, no conf do site será apenas:

    SSLCertificateFile    /etc/apache2/cert/myhost.tld_combined.crt
    SSLCertificateKeyFile /etc/apache2/cert/myhost.tld.key

E tudo ficará bem, até mesmo no Teste SSL Qualys .

Isso funciona para StartCom StartSSL, bem como para certificados WoSign. O formato é o mesmo.

    
por 09.01.2016 / 14:10