Dus ik koop een certificaat van DigiCert. Het proces verloopt als volgt:
- Genereer privésleutel en CSR op webserver.
- Verzend CSR naar DigiCert.
- Ontvang een ondertekend certificaat terug als evenals hun rootcertificaat en tussencertificaat (CA-BUNDLE).
- Upload het certificaat en CA-BUNDLE naar de webserver via cPanel, Plesk, w \ e.
Mijn vraag is simpelweg: wat is het doel van de CA-BUNDLE?
Mijn certificaat krijgt ondertekend door een DigiCert Intermediate CA die is ondertekend door DigiCerts root CA. Alle browsers vertrouwen inherent DigiCert (en ik neem aan dat het een tussenliggende CA is?). De daadwerkelijke RSA-codering en AES-sleuteluitwisseling gebeurt met de waarden in mijn certificaat, in feite gebruikt de webserver nergens een van de certificaten in de CA-bundel voor.
Met dat gezegd zijnde, wat “is het punt ervan? en waarom moet ik het uploaden? Het enige dat ik kan zien, is dat als de client niet een van de tussenliggende certificaten heeft geïnstalleerd, het mijn webserver erom kan vragen (en het kan verifiëren met de in-browser DigiCert root)?
Answer
Alle browsers vertrouwen inherent DigiCert
Dat is waar.
(en ik neem aan dat het een tussenliggende CA is?)
Clients kunnen vertrouwde tussenliggende certificaten bevatten, maar kan niet worden verwacht . Het is uw taak, de server, om alle tussenliggende certificaten te verstrekken die nodig zijn om uw certificaatketen tot aan de root te valideren ( RFC 5246 7.4.2 ):
certificate_list This is a sequence (chain) of certificates. The sender"s certificate MUST come first in the list. Each following certificate MUST directly certify the one preceding it. Because certificate validation requires that root keys be distributed independently, the self-signed certificate that specifies the root certificate authority MAY be omitted from the chain, under the assumption that the remote end must already possess it in order to validate it in any case.
Het enige dat ik kan zien is dat als de client een van de tussenliggende certificaten niet heeft geïnstalleerd, het wel kan vraag het mijn webserver (en verifieer het met de DigiCert root in de browser)?
Correct. Dat is precies de reden.