Estritamente falando, você nunca precisa da cadeia para o SSL funcionar.
O que você sempre precisa é um SSLCertificateFile
com um SSLCertificateKeyFile
contendo a chave correta para esse certificado.
O problema é que, se tudo que você dá ao Apache é o certificado, então tudo o que ele tem a oferecer para conectar clientes é o certificado - que não conta toda a história sobre esse certificado SSL. Está dizendo: "Eu assinei com alguém, mas não vou falar sobre eles".
Isso geralmente funciona bem, já que a maioria dos sistemas cliente possui um grande armazenamento de certificados de CA (raiz e intermediário), que pode verificar através de um relacionamento de assinatura correspondente para estabelecer confiança. No entanto, às vezes isso não funciona; na maioria das vezes, o problema que você enfrentará é um cliente que não possui o certificado para uma CA intermediária que assinou seu certificado.
É aí que a corrente entra; Ele permite que o Apache mostre ao cliente exatamente como é a relação de confiança, o que pode ajudar um cliente a preencher os espaços em branco entre seu certificado, uma raiz em que eles confiam e o intermediário que eles não conhecem. A cadeia pode ser incluída em sua configuração de duas maneiras:
- Incorporado no mesmo arquivo que você definiu para seu
SSLCertificateFile
, em novas linhas após o certificado do servidor em ordem (a raiz deve estar na parte inferior). Se você configurá-lo assim, você vai quererSSLCertificateChainFile
apontou para o mesmo arquivo exato comoSSLCertificateFile
. - Em um arquivo separado configurado na diretiva
SSLCertificateChainFile
; o certificado da CA que emitiu o certificado do servidor deve ser o primeiro no arquivo, seguido por quaisquer outros na raiz.
Verifique o arquivo de certificado que você tem agora - estou apostando que ele não tem os dados da cadeia incluídos. O que geralmente funciona bem, mas acabará causando um problema com algum navegador ou outro.