Så jeg kjøper et sertifikat fra DigiCert. Prosessen går slik:
- Generer privat nøkkel og CSR på webserveren.
- Send CSR til DigiCert.
- Få et signert sertifikat tilbake som samt deres rotsertifikat og mellomsertifikat (CA-BUNDLE).
- Last opp sertifikatet og CA-BUNDLE til webserveren via cPanel, Plesk, w \ e.
Spørsmålet mitt er ganske enkelt, hva er formålet med CA-BUNDLE?
Sertifikatet mitt får signert av en DigiCert Intermediate CA som er signert av DigiCerts root CA. Alle nettlesere stoler i seg selv på DigiCert (og jeg antar at den er mellomliggende CA?). Den faktiske RSA-kryptering og AES-nøkkelutveksling gjøres ved hjelp av verdiene i sertifikatet mitt, faktisk bruker ikke webserveren noen av sertifikatene i CA-pakken til noe.
Når det er sagt, hva er poenget med det? og hvorfor må jeg laste den opp? Det eneste jeg kan se er at hvis klienten ikke har et av de mellomliggende sertifikatene installert, kan den be webserveren min om den (og verifisere den mot DigiCert-roten i nettleseren)?
Svar
Alle nettlesere stoler i seg selv på DigiCert
Sann nok.
(og jeg antar at det er mellomliggende CA?)
Kunder kan inkludere pålitelige mellomliggende serier, men kan ikke forventes . Det er din jobb, serveren, å gi eventuelle mellomsertifikater som er nødvendige for å validere sertifikatkjeden opp til roten ( 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.
Det eneste jeg kan se er om klienten ikke har et av de mellomliggende sertifikatene som er installert. spør webserveren min om den (og bekreft den mot DigiCert-roten i nettleseren)?
Riktig. Det er nøyaktig årsaken.