19#ifndef OPENSSL_NO_OCSP
42 (
char *)
value->location->d.uniformResourceIdentifier->data);
77 "no OCSP responder specified in certificate and "
78 "no default configured");
83 if (rv || !
u->hostname) {
85 "failed to parse OCSP responder URI '%s'",
s);
91 "cannot handle OCSP responder URI '%s'",
s);
115 "could not retrieve certificate id");
144 "Skipping OCSP check for certificate cos no OCSP URL"
145 " found and no_ocsp_for_cert_ok is set");
160 if (!request || !response) {
169 "OCSP response not successful: %d",
r);
178 "could not retrieve OCSP basic response");
188 "Bad OCSP responder answer (bad nonce)");
199 "failed to verify the OCSP response");
214 "failed to retrieve OCSP response status");
234 "OCSP response outside validity period");
248 "OCSP validation completed, "
249 "certificate status: %s (%d, %d)",
273 "No cert available to check with OCSP");
279 "Skipping OCSP check for valid self-issued cert");
APR-UTIL Base64 Encoding.
apr_brigade_flush void * ctx
const char apr_hash_t ** values
int modssl_verify_ocsp(X509_STORE_CTX *ctx, SSLSrvConfigRec *sc, server_rec *s, conn_rec *c, apr_pool_t *pool)
OCSP_RESPONSE * modssl_dispatch_ocsp_request(const apr_uri_t *uri, apr_interval_time_t timeout, OCSP_REQUEST *request, conn_rec *c, apr_pool_t *p)
void ssl_log_ssl_error(const char *file, int line, int level, server_rec *s)
#define X509_STORE_CTX_get0_store(x)
#define X509_STORE_CTX_get0_current_issuer(x)
#define DEFAULT_OCSP_MAX_SKEW
#define DEFAULT_OCSP_TIMEOUT
@ SSL_OCSPCHECK_NO_OCSP_FOR_CERT_OK
int ap_cstr_casecmp(const char *s1, const char *s2)
const char int apr_pool_t * pool
apr_array_header_t ** result
apr_vformatter_buff_t * c
#define apr_pool_create(newpool, parent)
apr_int64_t apr_interval_time_t
#define apr_time_from_sec(sec)
void ssl_log_cxerror(const char *file, int line, int level, apr_status_t rv, conn_rec *c, X509 *cert, const char *fmt,...)
static const char * extract_responder_uri(X509 *cert, apr_pool_t *pool)
static OCSP_REQUEST * create_request(X509_STORE_CTX *ctx, X509 *cert, OCSP_CERTID **certid, server_rec *s, apr_pool_t *p, SSLSrvConfigRec *sc)
static apr_uri_t * determine_responder_uri(SSLSrvConfigRec *sc, X509 *cert, conn_rec *c, apr_pool_t *p)
static int verify_ocsp_status(X509 *cert, X509_STORE_CTX *ctx, conn_rec *c, SSLSrvConfigRec *sc, server_rec *s, apr_pool_t *pool)
Internal interfaces private to mod_ssl.
Structure to store things which are per connection.
const char * ocsp_responder
unsigned int ocsp_noverify
unsigned int ocsp_use_request_nonce
unsigned int ocsp_force_default
apr_interval_time_t ocsp_responder_timeout
A structure to store information for each virtual server.