ok = verify_cb_crl(ctx, X509_V_ERR_UNABLE_TO_GET_CRL);
goto done;
}
- ctx->current_crl = crl;
+
ok = ctx->check_crl(ctx, crl);
if (!ok)
goto done;
if (!get_verification_time(ctx->param, &verification_time))
return 1;
- if (notify)
- ctx->current_crl = crl;
-
if (!certificate_time_to_posix(X509_CRL_get0_lastUpdate(crl),
&last_update)) {
err = X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD;
}
}
- if (notify)
- ctx->current_crl = NULL;
-
return 1;
}
int cnum = ctx->error_depth;
int chnum = sk_X509_num(ctx->chain) - 1;
+ ctx->current_crl = crl;
+
/* If we have an alternative CRL issuer cert use that */
if (ctx->current_issuer != NULL) {
issuer = ctx->current_issuer;
X509_STORE_CTX_get_error_depth, X509_STORE_CTX_set_error_depth,
X509_STORE_CTX_get_current_cert, X509_STORE_CTX_set_current_cert,
X509_STORE_CTX_get0_cert, X509_STORE_CTX_get1_chain,
+X509_STORE_CTX_get0_current_crl,
X509_verify_cert_error_string - get or set certificate verification status
information
X509 *X509_STORE_CTX_get_current_cert(const X509_STORE_CTX *ctx);
void X509_STORE_CTX_set_current_cert(X509_STORE_CTX *ctx, X509 *x);
X509 *X509_STORE_CTX_get0_cert(const X509_STORE_CTX *ctx);
-
STACK_OF(X509) *X509_STORE_CTX_get1_chain(const X509_STORE_CTX *ctx);
+ X509_CRL *X509_STORE_CTX_get0_current_crl(const X509_STORE_CTX *ctx);
const char *X509_verify_cert_error_string(long n);
OSSL_STACK_OF_X509_free(chain);
+X509_STORE_CTX_get0_current_crl() returns an internal pointer to the
+possibly unverified CRL being actively considered during verification
+by the I<ctx>, or NULL. The returned value is NULL when the
+verification is not considering a specific CRL, or has finished CRL
+verification. As this pointer is an internal value used only during
+X509 verification, the values seen and order in which they are seen if
+called during the verification callback should not be relied upon to
+be consistent.
+
X509_verify_cert_error_string() returns a human readable error string for
verification error I<n>.
X509_STORE_CTX_get_current_cert() returns the certificate which caused the
error or NULL if no certificate is relevant to the error.
+X509_STORE_CTX_get_current_crl() returns the CRL which caused the error
+or NULL if no CRL is relevant to the error.
+
X509_verify_cert_error_string() returns a human readable error string for
verification error I<n>.