Estrictamente hablando, nunca necesita la cadena para que SSL funcione.
Lo que siempre necesita es un SSLCertificateFile
archivo que SSLCertificateKeyFile
contenga la clave correcta para ese certificado.
El problema es que si todo lo que le da a Apache es el certificado, todo lo que tiene que dar a los clientes que se conectan es el certificado, que no cuenta toda la historia sobre ese certificado SSL. Dice: "Estoy firmado por alguien, pero no voy a contarte sobre ellos".
Esto generalmente funciona bien, ya que la mayoría de los sistemas cliente tienen una gran cantidad de certificados de CA (tanto raíz como intermedios) que puede verificar si existe una relación de firma coincidente para establecer la confianza. Sin embargo, a veces esto no funciona; con mayor frecuencia, el problema con el que se encontrará es un cliente que no posee el certificado para una CA intermedia que firmó su certificado.
Ahí es donde entra la cadena; le permite a Apache mostrarle al cliente exactamente cómo se ve la relación de confianza, lo que puede ayudar a un cliente a llenar los espacios en blanco entre su certificado, una raíz en la que confía y el intermediario que no conoce. La cadena se puede incluir en su configuración de dos maneras:
- Incrustado en el mismo archivo que ha configurado para usted
SSLCertificateFile
, en nuevas líneas después del certificado del servidor en orden (la raíz debe estar en la parte inferior). Si lo configura de esta manera, querrá SSLCertificateChainFile
señalar exactamente el mismo archivo que SSLCertificateFile
.
- En un archivo separado configurado en la
SSLCertificateChainFile
directiva; el certificado de CA que emitió el certificado del servidor debe estar primero en el archivo, seguido de cualquier otro en la raíz.
Verifique el archivo del certificado que tiene ahora. Apuesto a que no incluye los datos de la cadena. Lo que generalmente funciona bien, pero eventualmente causará un problema con algún navegador u otro.
/etc/ssl
,/usr/local/etc/ssl
o en unassl
específica subdirectorio a la página web (por ejemplo,/home/www/example.com/data
tiene el sitio web a continuaciónhome/www/example.com/ssl
tiene los CERT).