Прежде всего, отправка промежуточной цепочки к корневому сертификату с ответом вашего сервера не всегда точно НУЖНЫЙ, но рекомендуется практика.
Многие клиенты в настоящее время хранят всевозможные промежуточные сертификаты в своих хранилищах доверенных сертификатов или получают их из хранилища доверенных сертификатов ОС. Однако, если вы собираетесь обслуживать ОБЩУЮ публику, вы не можете делать никаких предположений по этому поводу, и вам СЛЕДУЕТ отправить промежуточную цепочку с вашим ответом.
Если вы не отправите промежуточную цепочку, у вас останутся спорадические сообщения о том, что люди не могут подключиться к вашему сервису. И это может зависеть от их браузера, версии браузера и базовой ОС.
По иронии судьбы, выбор конкретной промежуточной цепочки и отправка ее с ответом может иногда прервать проверку SSL для некоторых клиентов, которые сами проверили бы ее из какой-либо сохраненной цепочки. Как и в случае с некоторыми старыми клиентами openssl на серверах и выдаваемых letsencrypt сертификатов, но можно предположить, что в таком случае поддержка тех серверов со временем разберется.
На самом деле вам не нужна директива ChainFile в Apache как таковая, потому что вы также можете конкатенировать файлы сертификатов pem от конечного сертификата к корню и использовать их только с директивой SSLCertificateFile.
Что вам не нужно делать, так это отправлять корневой сертификат. Потому что, если бы клиент действительно использовал это, это лишило бы практического использования проверки SSL.
SSLCACertificateFile
необходим тогда и только тогда, когда вам нужно проверять сертификаты от клиентов, которые подключаются к вам, И вы не хотите использовать для этого базовое хранилище доверенных сертификатов. Таким образом, это на самом деле совершенно другое использование, чем SSLCertificateChainfile
Кроме того, если вы сомневаетесь, используйте отличные инструменты проверки Qualys SSL Labs: https://www.ssllabs.com/ssltest/