OCSP
Online Certificate Status Protocol (OCSP) umožňuje klientům kontrolovat stav odvolání certifikátu v reálném čase, bez stahování celé CRL. Certman poskytuje veřejný OCSP respondér pro každou CA, kterou vytvoříte.
Jak to funguje
Když klient (prohlížeč, aplikace nebo TLS knihovna) narazí na certifikát vydaný vaší CA, může se dotázat OCSP respondéru a ověřit, že certifikát nebyl odvolán:
- Klient přečte rozšíření Authority Information Access (AIA) z certifikátu a najde URL OCSP respondéru.
- Klient odešle OCSP požadavek obsahující sériové číslo certifikátu.
- Respondér odpoví podepsanou odpovědí uvádějící stav certifikátu: good, revoked nebo unknown.
URL OCSP respondéru
OCSP respondér každé CA je veřejně přístupný na:
https://ocsp.certman.app/{ca_id}Tato URL je automaticky vložena do rozšíření AIA všech certifikátů a CA vydaných Certmanem, takže klienti ji mohou objevit bez jakékoli manuální konfigurace.
Metody požadavku
OCSP respondér podporuje dvě metody definované v RFC 6960:
- POST — Odešlete DER kódovaný OCSP požadavek jako tělo požadavku s
Content-Type: application/ocsp-request - GET — Připojte base64url kódovaný DER požadavek k cestě URL
# POST metoda
curl -X POST https://ocsp.certman.app/{ca_id} \
-H "Content-Type: application/ocsp-request" \
--data-binary @request.der
# GET metoda
curl https://ocsp.certman.app/{ca_id}/{base64url-kodovany-DER}Odpověď
OCSP odpověď je vrácena s Content-Type: application/ocsp-response a obsahuje hlavičky pro cachování (Cache-Control: public, max-age=3600) pro snížení zátěže respondéru.
Každá odpověď obsahuje stav pro dotazované sériové číslo certifikátu:
- Good — Certifikát je platný a nebyl odvolán
- Revoked — Certifikát byl odvolán, obsahuje čas odvolání
- Unknown — Sériové číslo certifikátu není touto CA rozpoznáno
OCSP vs. CRL
OCSP i CRL slouží stejnému účelu (komunikace stavu odvolání), ale liší se v přístupu:
| OCSP | CRL | |
|---|---|---|
| Aktuálnost | Stav v reálném čase | Periodické aktualizace |
| Šířka pásma | Malé odpovědi na certifikát | Kompletní seznam všech odvolaných certifikátů |
| Dostupnost | Vyžaduje online respondér | Může být cachována/distribuována |
| Soukromí | Respondér vidí, které certifikáty jsou kontrolovány | Klient stahuje kompletní seznam lokálně |
Certman podporuje oba mechanismy. Používejte OCSP pro kontroly v reálném čase a CRL jako zálohu nebo pro prostředí s omezenou konektivitou.
Heslem chráněné CA
OCSP funguje automaticky dál, i když je CA chráněna heslem. Takto to funguje:
Když vytvoříte CA s ochranou heslem, Certman vygeneruje samostatný OCSP podpisový certifikát specificky pro podepisování OCSP odpovědí. Tento OCSP certifikát:
- Je podepsán vaší CA v době vytvoření (když poskytnete heslo)
- Má rozšířené použití klíče
id-kp-OCSPSigning, které ho autorizuje k podepisování OCSP odpovědí jménem CA - Je uložen na serveru se standardním šifrováním (není chráněn heslem)
- Má stejnou dobu platnosti jako samotná CA
Tento design zajišťuje, že OCSP odpovědi mohou být generovány automaticky bez nutnosti poskytovat heslo CA pro každou kontrolu stavu. OCSP podpisový certifikát je standardní PKI vzor (RFC 6960), kde CA deleguje podepisování OCSP odpovědí na určeného respondéra.
Bezpečnostní poznámka: Ačkoli je OCSP podpisový certifikát uložen na serveru, může pouze podepisovat OCSP odpovědi — nemůže vydávat nové certifikáty ani provádět jiné CA operace. Soukromý klíč vaší CA zůstává chráněn vaším heslem pro všechny operace vydávání a odvolávání certifikátů.
Ověření pomocí OpenSSL
Můžete otestovat OCSP stav certifikátu pomocí OpenSSL:
openssl ocsp \
-issuer ca.pem \
-cert certificate.pem \
-url https://ocsp.certman.app/{ca_id} \
-resp_text