52#ifndef QSC_X509_OCSP_H
53#define QSC_X509_OCSP_H
60QSC_CPLUSPLUS_ENABLED_START
83#define QSC_X509_OCSP_NONCE_MAX 32U
94} qsc_x509_ocsp_cert_status;
133typedef bool (*
qsc_x509_ocsp_fetch_callback)(
const char* url,
const uint8_t* request,
size_t requestlen, uint8_t* response,
size_t* responselen,
void* context);
200QSC_CPLUSPLUS_ENABLED_END
QSC_EXPORT_API struct qsc_asn1_time_t qsc_asn1_time
A normalized ASN.1 time representation.
Contains common definitions for the Quantum Secure Cryptographic (QSC) library.
#define QSC_EXPORT_API
API export macro for Microsoft compilers when importing from a DLL.
Definition qsccommon.h:605
Definition x509ocsp.h:106
qsc_asn1_time revocationtime
Definition x509ocsp.h:108
bool hasnonce
Definition x509ocsp.h:109
uint8_t nonce[QSC_X509_OCSP_NONCE_MAX]
Definition x509ocsp.h:110
qsc_x509_ocsp_cert_status status
Definition x509ocsp.h:107
size_t noncelen
Definition x509ocsp.h:111
A parsed OCSP response status summary.
QSC_EXPORT_API bool qsc_x509_ocsp_verify_responder(const qsc_x509_certificate *responder, const qsc_x509_certificate *issuer, const qsc_x509_store *store, const qsc_asn1_time *now)
Verify an OCSP responder certificate.
Definition x509ocsp.c:1378
qsc_x509_ocsp_cert_status_t
Definition x509ocsp.h:90
@ QSC_X509_OCSP_STATUS_UNKNOWN
Definition x509ocsp.h:93
@ QSC_X509_OCSP_STATUS_GOOD
Definition x509ocsp.h:91
@ QSC_X509_OCSP_STATUS_REVOKED
Definition x509ocsp.h:92
bool(* qsc_x509_ocsp_fetch_callback)(const char *url, const uint8_t *request, size_t requestlen, uint8_t *response, size_t *responselen, void *context)
Caller-supplied OCSP transport callback.
Definition x509ocsp.h:133
#define QSC_X509_OCSP_NONCE_MAX
The maximum supported OCSP nonce length in bytes.
Definition x509ocsp.h:83
QSC_EXPORT_API bool qsc_x509_ocsp_parse_response(const uint8_t *der, size_t derlen, qsc_x509_ocsp_response *response)
Parse an OCSP response from DER.
Definition x509ocsp.c:1165
QSC_EXPORT_API bool qsc_x509_ocsp_validate(const qsc_x509_certificate *certificate, const qsc_x509_certificate *issuer, const char *url, qsc_x509_ocsp_fetch_callback fetch, void *context, const qsc_asn1_time *now, qsc_x509_ocsp_response *response)
Validate a certificate using OCSP.
Definition x509ocsp.c:1261
X.509 trust-anchor store and certificate chain construction interface.
X.509 certificate and certification-path verification interface.