Le fichier de certificat SSL est un verrou.
Le fichier de clé de certificat SSL est sa clé.
Stocker les deux ensemble équivaut à coller votre clé sur la serrure de votre porte d'entrée.
Si un attaquant compromet le fichier unique, il dispose de tout ce dont il a besoin pour usurper l'identité de votre site Web (le certificat et la clé privée).
Cela est particulièrement vrai si vous n'avez pas de phrase secrète sur votre clé SSL (de nombreux serveurs Web n'en ont pas, pour leur permettre de démarrer automatiquement en cas de panne).
Ce que vous défendez en séparant les fichiers est un bogue Apache qui le fait vider le contenu de SSLCertificateFile
(quelque chose qui devrait être accessible au public) à un client Web.
(À ma connaissance, un tel bogue n'existe pas, ou n'a jamais existé, mais Apache est un gros logiciel complexe. C'est tout à fait possible.)
Si Apache vide ce fichier et qu'il ne contient que le certificat SSL (le verrou), il n'y a pas de problème: tout le monde obtient une copie de ce certificat lorsqu'il fait une demande SSL au serveur de toute façon.
Si le fichier contient également la clé, vous avez perdu toute chance à la sécurité - votre modèle de cryptage entier est compromis et vous devez changer de clé.
Les anciennes versions d'OpenSSL nécessitaient deux fichiers distincts (public et privé). Les anciennes versions d'autres moteurs de chiffrement nécessitaient un seul fichier (les deux dans le même fichier). Dans un "esprit" de compatibilité (alias "les gémissements d'Admin au sujet de l'incohérence et de devoir maintenir deux ensembles de certificats), la plupart prennent désormais en charge les deux.
Le stockage des deux certificats (également la chaîne de clés) dans un seul fichier est déconseillé car les différents certificats ont des étendues différentes. Il s'agit davantage d'un problème de cohérence que d'un problème technique, où le certificat public doit avoir des autorisations de fichiers lisibles par le public, et vice versa pour le privé. Il n'y a aucun danger à garder votre certificat public sous clé sur vos systèmes, c'est simplement incompatible avec son objectif.
la source