x509_store_ctx_st

This is a used when verifying cert chains. Since the gathering of the cert chain can take some time \(and have to be 'retried', this needs to be kept and passed around.

extern (C) nothrow @nogc
struct x509_store_ctx_st {}

Members

Variables

cert
libressl_d.openssl.ossl_typ.X509* cert;

The cert to check

cert_crl
int function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx, libressl_d.openssl.ossl_typ.X509_CRL* crl, libressl_d.openssl.ossl_typ.X509* x) cert_crl;

Check certificate against CRL

chain
libressl_d.openssl.x509.stack_st_X509* chain;

chain of X509s - built up and trusted

check_crl
int function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx, libressl_d.openssl.ossl_typ.X509_CRL* crl) check_crl;

Check CRL validity

check_issued
int function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx, libressl_d.openssl.ossl_typ.X509* x, libressl_d.openssl.ossl_typ.X509* issuer) check_issued;

check issued

check_policy
int function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx) check_policy;
Undocumented in source.
check_revocation
int function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx) check_revocation;

Check revocation status of chain

cleanup
int function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx) cleanup;
Undocumented in source.
crls
libressl_d.openssl.x509.stack_st_X509_CRL* crls;

set of CRLs passed in

ctx
libressl_d.openssl.ossl_typ.X509_STORE* ctx;
Undocumented in source.
current_cert
libressl_d.openssl.ossl_typ.X509* current_cert;
Undocumented in source.
current_crl
libressl_d.openssl.ossl_typ.X509_CRL* current_crl;

current CRL

current_crl_score
int current_crl_score;

score of current CRL

current_issuer
libressl_d.openssl.ossl_typ.X509* current_issuer;

cert currently being tested as valid issuer

current_method
int current_method;

used when looking up certs

current_reasons
uint current_reasons;

Reason mask

error
int error;
Undocumented in source.
error_depth
int error_depth;
Undocumented in source.
ex_data
libressl_d.openssl.ossl_typ.CRYPTO_EX_DATA ex_data;
Undocumented in source.
explicit_policy
int explicit_policy;

Require explicit policy value

get_crl
int function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx, libressl_d.openssl.ossl_typ.X509_CRL** crl, libressl_d.openssl.ossl_typ.X509* x) get_crl;

retrieve CRL

get_issuer
int function(libressl_d.openssl.ossl_typ.X509** issuer, libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx, libressl_d.openssl.ossl_typ.X509* x) get_issuer;

get issuers cert from ctx

last_untrusted
int last_untrusted;

XXX: number of untrusted certs in chain!!!

lookup_certs
libressl_d.openssl.x509.stack_st_X509* function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx, libressl_d.openssl.ossl_typ.X509_NAME* nm) lookup_certs;
Undocumented in source.
lookup_crls
libressl_d.openssl.x509.stack_st_X509_CRL* function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx, libressl_d.openssl.ossl_typ.X509_NAME* nm) lookup_crls;
Undocumented in source.
other_ctx
void* other_ctx;

Other info for use with get_issuer()

param
.X509_VERIFY_PARAM* param;
Undocumented in source.
parent
libressl_d.openssl.ossl_typ.X509_STORE_CTX* parent;

For CRL path validation: parent context

tree
libressl_d.openssl.ossl_typ.X509_POLICY_TREE* tree;

Valid policy tree

untrusted
libressl_d.openssl.x509.stack_st_X509* untrusted;

chain of X509s - untrusted - passed in

valid
int valid;

if 0, rebuild chain

verify
int function(libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx) verify;

called to verify a certificate

verify_cb
int function(int ok, libressl_d.openssl.ossl_typ.X509_STORE_CTX* ctx) verify_cb;

error callback

Meta