Strictement parlant, vous n'avez jamais besoin de la chaîne pour que SSL fonctionne.
Ce que vous avez toujours besoin est un SSLCertificateFile
avec un SSLCertificateKeyFile
contenant la clé correcte pour ce certificat.
Le problème est que si tout ce que vous donnez à Apache est le certificat, alors tout ce qu'il doit donner aux clients qui se connectent est le certificat - qui ne dit pas toute l'histoire de ce certificat SSL. Cela revient à dire : "Je suis signé par quelqu'un, mais je ne vais pas vous en parler".
Cela fonctionne généralement bien, car la plupart des systèmes clients disposent d'un grand nombre de certificats d'autorité de certification (racine et intermédiaire) qu'ils peuvent consulter pour trouver une relation de signature correspondante afin d'établir la confiance. Cependant, il arrive que cela ne fonctionne pas ; le plus souvent, le problème rencontré est celui d'un client qui ne détient pas le certificat d'une autorité de certification intermédiaire qui a signé votre certificat.
C'est là que la chaîne entre en jeu ; elle permet à Apache de montrer au client à quoi ressemble exactement la relation de confiance, ce qui peut aider le client à combler les lacunes entre votre certificat, une racine en laquelle il a confiance, et l'intermédiaire qu'il ne connaît pas. La chaîne peut être incluse dans votre configuration de deux manières :
- Incorporé dans le même fichier que celui que vous avez défini pour votre
SSLCertificateFile
sur de nouvelles lignes après le certificat du serveur dans l'ordre (la racine doit être en bas). Si vous le configurez comme ceci, vous aurez besoin de SSLCertificateChainFile
pointe sur le même fichier que SSLCertificateFile
.
- Dans un fichier séparé configuré dans le
SSLCertificateChainFile
le certificat de l'autorité de certification qui a émis le certificat du serveur doit figurer en premier dans le fichier, suivi de tous les autres jusqu'à la racine.
Vérifiez le fichier de certificat que vous avez maintenant - je parie qu'il ne contient pas les données de la chaîne. Ce qui fonctionne généralement bien, mais finira par causer un problème avec un navigateur ou un autre.