28#define OCSP_ALGORITHM_IDENTIFIER( ... ) \
29 ASN1_OID, VA_ARG_COUNT ( __VA_ARGS__ ), __VA_ARGS__, \
33#define OCSP_STATUS_SUCCESSFUL 0x00
34#define OCSP_STATUS_MALFORMED_REQUEST 0x01
35#define OCSP_STATUS_INTERNAL_ERROR 0x02
36#define OCSP_STATUS_TRY_LATER 0x03
37#define OCSP_STATUS_SIG_REQUIRED 0x05
38#define OCSP_STATUS_UNAUTHORIZED 0x06
Cryptographic configuration.
uint8_t data[48]
Additional event data.
#define FILE_LICENCE(_licence)
Declare a particular licence as applying to a file.
#define FILE_SECBOOT(_status)
Declare a file's UEFI Secure Boot permission status.
int64_t time_t
Seconds since the Epoch.
static int ocsp_required(struct x509_certificate *cert)
Check if X.509 certificate requires an OCSP check.
int ocsp_check(struct x509_certificate *cert, struct x509_certificate *issuer, struct ocsp_check **ocsp)
Create OCSP check.
int ocsp_validate(struct ocsp_check *check, time_t time)
Validate OCSP response.
static struct ocsp_check * ocsp_get(struct ocsp_check *ocsp)
Get reference to OCSP check.
static void ocsp_put(struct ocsp_check *ocsp)
Drop reference to OCSP check.
int ocsp_response(struct ocsp_check *ocsp, const void *data, size_t len)
Receive OCSP response.
#define ref_get(refcnt)
Get additional reference to object.
#define ref_put(refcnt)
Drop reference to object.
An ASN.1 OID-identified algorithm.
size_t len
Length of data.
char * uri_string
URI string.
struct refcnt refcnt
Reference count.
struct ocsp_response response
Response.
struct ocsp_request request
Request.
struct x509_certificate * issuer
Issuing certificate.
struct x509_certificate * cert
Certificate being checked.
struct asn1_cursor cert_id_tail
Certificate ID (excluding hashAlgorithm)
struct asn1_builder builder
Request builder.
struct asn1_cursor id
Responder ID.
int(* compare)(struct ocsp_check *ocsp, struct x509_certificate *cert)
Check if certificate is the responder's certificate.
struct asn1_algorithm * algorithm
Signature algorithm.
struct x509_certificate * signer
Signing certificate.
time_t next_update
Time at which newer status information will be available.
time_t this_update
Time at which status is known to be correct.
struct asn1_cursor tbs
Raw tbsResponseData.
struct ocsp_responder responder
Responder.
struct asn1_cursor signature
Signature value.
struct x509_ocsp_responder ocsp
OCSP responder.
struct x509_extensions extensions
Extensions.
struct x509_authority_info_access auth_info
Authority information access.
int good
OCSP status is good.
struct asn1_cursor uri
URI.