Summary: Management Node — implement OCSP responder for certificate revocation
Type: Story
Component: Management Node
Labels: federation, pki, ocsp, certificate-revocation, rfc6960
Description
The Management Node must implement an RFC 6960-compliant OCSP Responder to support real-time certificate revocation checking across the federation. Federator nodes performing mTLS handshakes query the OCSP Responder to confirm peer certificate validity. The responder must reflect revocation state immediately, with cache eviction on revocation to prevent stale GOOD responses being served after a certificate is revoked.
Acceptance Criteria
Technical Notes
- Bouncy Castle (
bcpkix-jdk18on) for DER-encoded OCSP request parsing (OCSPReq) and response construction (BasicOCSPRespBuilder)
- OCSP response signing: use the intermediate CA key held in Vault; signing must not expose the private key outside Vault — use Vault's Transit engine or PKI sign endpoint
- Cache: in-memory keyed on certificate serial number + issuer hash; eviction hook must be called by the revocation path (organisation deregistration, manual revocation API)
nextUpdate set to thisUpdate + 1 hour; configurable via management.ocsp.next-update-seconds
- AIA extension injection: update certificate issuance flow to include
id-ad-ocsp pointing to the Management Node's public OCSP endpoint
- Per-org intermediate CA resolution: OCSP request includes issuer key hash — responder must identify the correct org PKI mount in Vault to query revocation state
Out of Scope
- OCSP stapling (consumed by Federator, not produced here)
- CRL generation
- Federator-side OCSP consumption (separate story)
Dependencies
- Vault/OpenBao PKI engine with revocation status queryable per org mount
- Per-organisation intermediate CA structure in place
- Management Node CA signing key accessible for response signing
- Federator OCSP story (consumer of this responder)
Definition of Done
- OCSP endpoint returns correct status for
GOOD, REVOKED, and UNKNOWN certificates
- Immediate cache eviction on revocation confirmed — no stale
GOOD response served post-revocation
- AIA extension present in newly issued certificates pointing to responder URL
- Per-org issuer resolution verified
- Bouncy Castle DER encode/decode round-trip tested
- PR reviewed and merged
Summary: Management Node — implement OCSP responder for certificate revocation
Type: Story
Component: Management Node
Labels: federation, pki, ocsp, certificate-revocation, rfc6960
Description
The Management Node must implement an RFC 6960-compliant OCSP Responder to support real-time certificate revocation checking across the federation. Federator nodes performing mTLS handshakes query the OCSP Responder to confirm peer certificate validity. The responder must reflect revocation state immediately, with cache eviction on revocation to prevent stale
GOODresponses being served after a certificate is revoked.Acceptance Criteria
POST /ocsp) accepting DER-encoded OCSP requestsGOOD,REVOKED, orUNKNOWNstatus per queried certificate serial numbernextUpdateinterval (~1 hour)GOODresponses must not be served post-revocationTechnical Notes
bcpkix-jdk18on) for DER-encoded OCSP request parsing (OCSPReq) and response construction (BasicOCSPRespBuilder)nextUpdateset tothisUpdate + 1 hour; configurable viamanagement.ocsp.next-update-secondsid-ad-ocsppointing to the Management Node's public OCSP endpointOut of Scope
Dependencies
Definition of Done
GOOD,REVOKED, andUNKNOWNcertificatesGOODresponse served post-revocation