Sestavení řetězu certifikátů

Program, který potřebuje zjistit důvěryhodnost klientského nebo serverového certifikátu, musí sestavit řetěz certifikátů, který končí kořenovým certifikátem a/nebo takovým, který má výslovně zadanou důvěryhodnost pro daný program či systém.

Pokud se sestavovací algoritmus dostane až ke kořenovému certifikátu CA, je také možné, že tento certifikát není důvěryhodný, neboť nepatří ke "známým důvěryhodným kořenovým" certifikátům vydaným CA jako Thawte nebo VeriSign, ani nemá výslovně zadanou důvěryhodnost.

Postup (zdroj: Felix Dörre):

  1. Je-li certifikát výslovně důvěryhodný, tj. byl tak označen uživatelem nebo patří ke "známým důvěryhodným kořenovým" certifikátům, končí kontrola s výsledkem "důvěryhodný" - řetěz certifikátů je úspěšně sestaven.
  2. Pro všechny "rodiče", kde souhlasí vydavatel certifikátu uvedený v jejich "předmětu":
  3. ověřit podpis, platnost podle data expirace, odvolání podle CRL, řetězení
  4. a existuje-li "rodič", postupovat s ním znovu od (1) rekurzivně.
  5. Jinak kontrola končí s výsledkem "nedůvěryhodný" - řetěz certifikátů se nepodařilo sestavit.

Tedy pro certifikáty CAcert má být řetězec zpravidla tříčlánkový, případně dvoučlánkový, v závislosti na tom, zda je Váš klientský/serverový certifikát vydán/podepsán zprostředkujícím certifikátem třídy 3, nebo případně kořenovým certifikátem třídy 1.


FAQ/CertChainConstruction/CZ (last edited 2016-01-01 09:19:47 by AlesKastner)