Většina aplikací závislých na certifikátech X.509 potřebuje ověřit stav certifikátů používaných při provádění operací ověřování, podepisování nebo šifrování. Tato kontrola platnosti a odvolání certifikátů se provádí u všech certifikátů v řetězu certifikátů až ke kořenovému certifikátu. Není-li kořenový certifikát nebo některý certifikát v řetězu platný, nejsou platné ani certifikáty, které se nacházejí na nižší úrovni v řetězu než neplatný certifikát.

Při kontrole je ověřována platnost následujících skutečností:

  • Podpisy jednotlivých certifikátů jsou platné.

  • Aktuální datum a čas spadá do doby platnosti jednotlivých certifikátů.

  • Žádný certifikát není poškozený ani chybně vytvořený.

U každého certifikátu v řetězu je kromě toho kontrolován stav odvolání. Kontrolu odvolání lze provést pomocí seznamu odvolaných certifikátů (CRL) nebo odpovědi protokolu OCSP (Online Certificate Status Protocol).

Co je protokol OCSP?

Online respondér společnosti Microsoft implementuje protokol OCSP, který umožňuje příjemci certifikátu odeslat požadavek na stav certifikátu respondéru OCSP pomocí protokolu HTTP (Hypertext Transfer Protocol). Tento respondér OCSP vrátí konečnou, digitálně podepsanou odpověď označující stav certifikátu. Množství dat načtených na jeden požadavek zůstává neměnné bez ohledu na počet odvolaných certifikátů v certifikační autoritě.

Další informace naleznete v dokumentu RFC 2560 X.509 Internet Public Key Infrastructure Online Certificate Status Protocol - OCSP, který se zabývá protokolem OCSP v rámci internetové infrastruktury veřejných klíčů X.509 (https://go.microsoft.com/fwlink/?LinkID=71068 (stránka může být v angličtině)).

Online respondér

Implementace protokolu OCSP vytvořená společností Microsoft (online respondér) je rozdělena na klientskou a serverovou součást. Součást klienta je integrována do knihovny CryptoAPI 2.0, součást serveru je uvedena jako nová služba poskytovaná rolí serveru služby AD CS (Active Directory Certificate Services). Vzájemnou interakci klientské a serverové součásti popisuje následující proces:

  1. Jestliže se aplikace pokusí ověřit certifikát, který respondérům OCSP určuje umístění, prohledá součást klienta nejprve místní mezipaměť paměti a diskovou mezipaměť a zjistí, zda se v nich nachází odpověď protokolu OCSP uložená v mezipaměti, jež obsahuje aktuální data o odvolání.

  2. Pokud není v mezipaměti nalezena přijatelná odpověď, je pomocí protokolu HTTP odeslán požadavek online respondéru.

  3. Webový proxy server online respondéru požadavek dekóduje a ověří. Pokud je požadavek platný, jsou v mezipaměti webového proxy serveru vyhledány informace o odvolání potřebné ke splnění požadavku. Nejsou-li v mezipaměti k dispozici aktuální informace, je požadavek předán Službě online respondéru.

  4. Služba online respondéru požadavek převezme a zkontroluje místní seznam CRL (je-li k dispozici) a kopii nejnovějšího seznamu CRL vystaveného certifikační autoritou, která je uložena v mezipaměti.

  5. Jestliže certifikát není uveden v místním seznamu odvolání ani v seznamu odvolání uloženém v mezipaměti, obdrží zprostředkovatel odvolání aktualizovaný seznam CRL certifikační autority (je-li k dispozici) z umístění uvedených v konfiguraci odvolání a zkontroluje stav certifikátu. Zprostředkovatel pak vrátí stav certifikátu Službě online respondéru.

  6. Webový proxy server potom odpověď zakóduje a jejím odesláním zpět klientovi oznámí klientovi, že je certifikát platný. Kopii odpovědi také na určitou dobu uloží do mezipaměti pro případ, že se vyskytnou další požadavky týkající se stavu tohoto certifikátu.