OCSP: Verify Certificate (GET)
Verify certificate status using OCSP via HTTP GET method. The OCSP request should be base64 encoded and URL-safe.This endpoint is publicly accessible and does not require authentication.
Base64 URL-safe encoded OCSP request
Response
Returns a binary OCSP response. Content-Type:application/ocsp-response
The response indicates one of three statuses:
- good - Certificate is valid and not revoked
- revoked - Certificate has been revoked
- unknown - Certificate status is unknown
Example Request
Example with Automatic OCSP Validation
OCSP: Verify Certificate (POST)
Verify certificate status using OCSP via HTTP POST method. The OCSP request should be sent as binary data in the request body.This endpoint is publicly accessible and does not require authentication.
Request Body
Content-Type:application/ocsp-request
Binary OCSP request data.
Response
Returns a binary OCSP response. Content-Type:application/ocsp-response
Example Request
Get Certificate Revocation List
Retrieve the Certificate Revocation List for a specific Certificate Authority identified by its Subject Key Identifier (SKI).This endpoint is publicly accessible and does not require authentication.
Certificate Authority Subject Key Identifier (hex encoded)
Response
Returns DER-encoded CRL data. Content-Type:application/pkix-crl
Example Request
Example: Verify Certificate Against CRL
Get VA Role
Retrieve the Validation Authority role configuration for a specific Certificate Authority.Certificate Authority Subject Key Identifier (hex encoded)
Response
Certificate Authority Subject Key Identifier
CRL generation and management configuration
Metadata about the most recently generated CRL
Example Request
Example Response
Update VA Role
Update the Validation Authority role configuration for a Certificate Authority. This includes CRL generation settings and signing configuration.Certificate Authority Subject Key Identifier (hex encoded)
Request Body
Interval between automatic CRL regenerations (duration format: “1h”, “24h”, “7d”)
Duration for which a generated CRL is valid (duration format: “1h”, “24h”, “7d”)
Subject Key Identifier of the key used to sign the CRL (hex encoded). This should reference a key from the CA.
Whether to automatically regenerate the CRL when a certificate is revoked.
true: New CRL generated immediately upon certificate revocationfalse: CRL only regenerated based on refresh_interval
Response
Returns the updated VA role configuration.Example Request
CRL Configuration Best Practices
Refresh Interval
Refresh Interval
Recommended values:
- Critical infrastructure: 1-6 hours
- Production systems: 12-24 hours
- Development/Testing: 24-168 hours (1-7 days)
Validity Period
Validity Period
Set validity period longer than refresh interval to allow for processing delays and ensure CRL doesn’t expire before next refresh.Recommended formula: validity = refresh_interval × 1.5 to 2.0Example:
- refresh_interval: “24h”
- validity: “48h” or “72h”
Regenerate on Revoke
Regenerate on Revoke
Enable (
true) when:- Immediate revocation visibility is critical
- Security incidents require fast response
- Compliance mandates real-time revocation
false) when:- Periodic CRL updates are sufficient
- Minimizing computational load is important
- OCSP is the primary validation method
Signing Key Selection
Signing Key Selection
Use the CA’s signing key (same key that signs certificates) for maximum compatibility. Some validators may not accept CRLs signed by a different key.Ensure the signing key:
- Has the CRL signing capability
- Is the same key used by the CA for certificate signing
- Is available in the KMS
Integration Examples
Python: OCSP Verification
Go: Download and Parse CRL
Node.js: OCSP Check
Troubleshooting
OCSP Request Failed
Problem: OCSP endpoint returns 400 Bad Request Solutions:- Verify OCSP request is properly formatted
- Ensure certificate and issuer certificate are correct
- Check that the CA SKI in the request matches the VA configuration
- For GET requests, ensure proper URL encoding of base64 data
CRL Not Found
Problem: CRL endpoint returns 404 Not Found Solutions:- Verify the CA SKI is correct (hex encoded)
- Ensure VA role is configured for the CA
- Check that at least one CRL has been generated
CRL Expired
Problem: Downloaded CRL shows as expired Solutions:- Check VA role configuration: ensure refresh_interval is appropriate
- Verify regenerate_on_revoke setting
- Manually trigger CRL regeneration if needed
- Check system time on client and server
OCSP Response Shows Unknown
Problem: OCSP returns “unknown” status Solutions:- Verify the certificate was issued by the specified CA
- Check that the certificate exists in the system
- Ensure OCSP responder is configured for the CA
