În primul rând, trimiterea lanțului intermediar către certificatul rădăcină cu răspunsul serverului nu este întotdeauna exact NECESAR, dar este o practică recomandată.
Mulți clienți din zilele noastre au tot felul de certificate intermediare stocate în depozitele lor de încredere de certificate sau le obțin din depozitul de încredere al sistemului de operare. Cu toate acestea, dacă intenționați să deserviți publicul GENERAL, nu puteți face nicio presupunere în acest sens și TREBUIE să trimiteți lanțul intermediar cu răspunsul dvs.
Dacă nu trimiteți lanțul intermediar, veți rămâne cu rapoarte sporadice de oameni care nu se pot conecta la serviciul dvs. Și asta poate depinde de browserul lor, de versiunea browserului și de sistemul de operare subiacent.
În mod ironic, alegerea unui anumit lanț intermediar și trimiterea acestuia cu răspunsul poate uneori să anuleze validarea SSL pentru unii clienți care l-ar fi validat de la un lanț stocat ei înșiși. Așa cum a fost cazul unor clienți openssl mai vechi de pe servere și certificate emise de Letsencrypt, dar puteți presupune că, în acest caz, suportul acelor servere va înțelege în cele din urmă.
De fapt, nu aveți nevoie de directiva ChainFile din Apache pentru asta în sine, deoarece puteți, de asemenea, să concatenați fișierele de certificat pem de la certificatul final către rădăcină și să le utilizați doar cu directiva SSLCertificateFile.
Ceea ce nu trebuie să faceți este să trimiteți certificatul rădăcină. Pentru că dacă un client ar folosi asta, ar înfrânge utilizarea practică a validării SSL.
SSLCACertificateFile
este necesar dacă și numai dacă, trebuie să validați certificatele de la clienții care se conectează la dvs. ȘI nu doriți să utilizați sistemele care stau la baza depozitului de încredere pentru asta. Deci, aceasta este de fapt o utilizare total diferită de cea a SSLCertificateChainfile
În plus, dacă aveți îndoieli, utilizați instrumentele excelente de validare ale Qualys SSL Labs: https://www.ssllabs.com/ssltest/