Diretiva SSLCertificateChainFile descontinuada do Apache (AH02559)

8

Recentemente, atualizei o Apache de 2.2 para 2.4 e não consigo descobrir como descontinuar uma SSLCertificateChainFilediretiva.

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. O manual diz que agora toda a cadeia deve estar em um arquivo, especificado pela SSLCertificateFilediretiva, mas não sei quais chaves e em que ordem devo concatenar esse arquivo.

Neurotransmissor
fonte

Respostas:

8

Dado que você está usando isso na sua configuração do apache:

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

O /etc/apache2/cert/ssl.crtarquivo deve conter

  1. certificado de, por exemplo, seudomínio.com
  2. certificado da primeira autoridade de certificação intermediária, assinado pela autoridade de certificação raiz (por exemplo, autoridade de certificação principal do servidor intermediário de classe 1 do StartCom)
  3. certificado da segunda CA intermediária, assinado pela primeira CA intermediária (se houver uma segunda CA intermediária em sua 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 invocadas.

Você nem precisa adicionar a CA raiz, pois ela deve 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, será apenas uma sobrecarga adicional para estabelecer conexões SSL, pois elas precisam ser transferidas 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 possuem muitos certificados CA intermediários, então eu definitivamente os adicionaria.

O /etc/apache2/cert/ssl.keyarquivo permanecerá o mesmo, ou seja, conterá a chave para o certificado do seu domínio.com

fholzer
fonte
Ok, se eu entendi direito, devo criar um arquivo com o seguinte na ordem: 1) ssl.crt; 2) sub.classe1.servidor.sha2.ca.pem; 3) o que? Por favor, explique quais certificados devem ser adicionados nos terceiros (e possivelmente mais) lugares.
Neurotransmitter
Isso depende da cadeia real, quero dizer o número de CAs envolvidas na assinatura do seu certificado. A cadeia pode consistir apenas em 2 CAs. por exemplo, CA raiz e uma CA intermediária. Mas pode consistir em CA raiz e mais de uma CA intermediária. Seu arquivo ssl.crt deve conter todos os certificados CA intermediários, de cima para baixo. Por esse motivo, depende absolutamente de você caso específico de como deve ser o seu ssl.crt.
Fholzer #
Como alguém poderia saber quais CAs estão envolvidas na assinatura de um certificado?
Neurotransmissor
2
Construir a cadeia não é trivial para um novato, eu acho. Eu costumo correr openssl x509 -subject -issuer -noout -in certificate.of.yourdomain.crtpara ver o emissor. Em seguida, faço o download do certificado de emissão no site da minha CA, no seu caso: beginsl.com/certs . Em seguida, execute o comando nesse certificado. Repita até que o problema seja igual ao assunto, o que significa que o certificado é autoassinado e é o certificado da CA raiz. adicione todos esses arquivos, exceto o certificado CA raiz, ao ssl.crt e pronto.
fholzer
Obrigado pelo apoio, segui a cadeia e gerei um certificado combinado. Mas, por alguma razão, o teste SSL da Qualys indica que os clientes que se conectam ao meu host precisam fazer o download extra da CA do Servidor Intermediário Primário Classe 1 da StartCom, que eu definitivamente incluí no certificado combinado ( captura de tela ). Isso é estranho.
Neurotransmitter
1

Ok, finalmente descobri 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, um de interesse particular é ApacheServer.zipum formulário compatível com Apache> 2.4. Os arquivos na pasta Apache são:

1_root_bundle.crt
2_myhost.tld.crt

Você precisa distribuir a SSLCertificateFilepartir desses dois certificados, mas nesta ordem:

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

Portanto, no site conf, será apenas:

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

E tudo ficará bem, até o Teste SSL da Qualys .

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

Neurotransmissor
fonte