X509_STORE_CTX_NEW(3ssl) OpenSSL X509_STORE_CTX_NEW(3ssl) X509_STORE_CTX_new_ex, X509_STORE_CTX_new, X509_STORE_CTX_cleanup, X509_STORE_CTX_free, X509_STORE_CTX_init, X509_STORE_CTX_init_rpk, X509_STORE_CTX_set0_trusted_stack, X509_STORE_CTX_set_cert, X509_STORE_CTX_set0_crls, X509_STORE_CTX_set0_rpk, X509_STORE_CTX_get0_param, X509_STORE_CTX_set0_param, X509_STORE_CTX_get0_untrusted, X509_STORE_CTX_set0_untrusted, X509_STORE_CTX_get_num_untrusted, X509_STORE_CTX_get0_chain, X509_STORE_CTX_set0_verified_chain, X509_STORE_CTX_get0_rpk, X509_STORE_CTX_set_default, X509_STORE_CTX_set_verify, X509_STORE_CTX_verify_fn, X509_STORE_CTX_set_ocsp_resp, X509_STORE_CTX_set_purpose, X509_STORE_CTX_set_trust, X509_STORE_CTX_purpose_inherit - X509_STORE_CTX #include X509_STORE_CTX *X509_STORE_CTX_new_ex(OSSL_LIB_CTX *libctx, const char *propq); X509_STORE_CTX *X509_STORE_CTX_new(void); void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); void X509_STORE_CTX_free(X509_STORE_CTX *ctx); int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *trust_store, X509 *target, STACK_OF(X509) *untrusted); int X509_STORE_CTX_init_rpk(X509_STORE_CTX *ctx, X509_STORE *trust_store, EVP_PKEY *rpk); void X509_STORE_CTX_set0_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); void X509_STORE_CTX_set_cert(X509_STORE_CTX *ctx, X509 *target); void X509_STORE_CTX_set0_crls(X509_STORE_CTX *ctx, STACK_OF(X509_CRL) *sk); void X509_STORE_CTX_set0_rpk(X509_STORE_CTX *ctx, EVP_PKEY *target); X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(const X509_STORE_CTX *ctx); void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); STACK_OF(X509)* X509_STORE_CTX_get0_untrusted(const X509_STORE_CTX *ctx); void X509_STORE_CTX_set0_untrusted(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); int X509_STORE_CTX_get_num_untrusted(const X509_STORE_CTX *ctx); STACK_OF(X509) *X509_STORE_CTX_get0_chain(const X509_STORE_CTX *ctx); void X509_STORE_CTX_set0_verified_chain(X509_STORE_CTX *ctx, STACK_OF(X509) *chain); EVP_PKEY *X509_STORE_CTX_get0_rpk(const X509_STORE_CTX *ctx); int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); typedef int (*X509_STORE_CTX_verify_fn)(X509_STORE_CTX *); void X509_STORE_CTX_set_verify(X509_STORE_CTX *ctx, X509_STORE_CTX_verify_fn verify); void X509_STORE_CTX_set_ocsp_resp(X509_STORE_CTX *ctx, STACK_OF(OCSP_RESPONSE) *sk); int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, int purpose, int trust); X509_STORE_CTX X509_verify_cert(3) X509_STORE_CTX_verify(3). X509_STORE_CTX_new_ex() X509_STORE_CTX libctx propq. X509_STORE_CTX . X509_STORE_CTX_new() X509_STORE_CTX_new_ex() NULL. X509_STORE_CTX_cleanup() X509_STORE_CTX. X509_STORE_CTX_init() X509_STORE_CTX_free(). X509_STORE_CTX_free() ctx . ctx . ctx NULL . X509_STORE_CTX_init() ctx . X509_STORE_CTX_init() ctx . "default" "any" trust_store ( NULL). X509_verify_cert(3) X509_STORE_CTX_verify(3) . ctx X509_STORE_CTX_init() . trust_store X509_STORE. NULL X509_STORE_CTX_set0_trusted_stack(). target untrusted . target ( ) . trust_store target untrusted NULL. X509_verify_cert(3) X509_STORE_CTX_verify(3) . X509_STORE_CTX_set_cert(). X509_STORE_CTX_verify(3) X509_STORE_CTX_set0_untrusted(). X509_STORE_CTX_init_rpk() ctx target. X509_STORE_CTX_init(). target X509_STORE_CTX_set0_rpk(). target ( ) . X509_STORE_CTX_set0_trusted_stack() ctx sk. X509_STORE sk . X509_STORE_CTX_set_cert() ctx target. ( ) . X509_STORE_CTX_set0_rpk() ctx target NULL . target ( ) . X509_STORE_CTX_set0_verified_chain() chain. ctx . X509_STORE_CTX_get0_chain() ctx (). X509_STORE_CTX_get0_rpk() ctx . X509_STORE_CTX_set0_crls() (CRLs) sk. X509_VERIFY_PARAM . "" PKCS#7. X509_STORE_CTX_get0_param() ctx. X509_STORE_CTX_set0_param() param. param. X509_STORE_CTX_get0_untrusted() ctx. X509_STORE_CTX_set0_untrusted() ctx sk. X509_STORE_CTX_verify() . X509_STORE_CTX_get_num_untrusted() . X509_verify_cert(3) . X509_STORE_CTX_verify(3) . X509_STORE_CTX_get0_chain() ctx . " " openssl-verification-options(1) " " openssl-verification-options(1). X509_STORE_CTX_set0_verified_chain() ctx chain. ctx . X509_STORE_CTX_set_default() . X509_VERIFY_PARAM_lookup() name. . -verify_name " " openssl-verification-options(1). X509_STORE_CTX_set_verify() . . X509_STORE_CTX_verify : int (*verify)(X509_STORE_CTX *); X509_STORE_CTX 1 0 . X509 . " TLS" " ". " " . . "" "" . "" . " TLS" " TLS" . X.509 . "" ( ) (X509_STORE_set_verify_cb_func(3)). X509_STORE_CTX_set_ocsp_resp() () OCSP TLS OCSP. OCSP sk . ctx ctx. X509_STORE_CTX_set_purpose() ctx. purpose X509_PURPOSE_SSL_CLIENT X509_PURPOSE_SSL_SERVER X509_PURPOSE_NS_SSL_SERVER X509_PURPOSE_SMIME_SIGN X509_PURPOSE_SMIME_ENCRYPT X509_PURPOSE_CRL_SIGN X509_PURPOSE_ANY X509_PURPOSE_OCSP_HELPER X509_PURPOSE_TIMESTAMP_SIGN X509_PURPOSE_CODE_SIGN. . (EKU) . SSL SSL S/MIME EKU CA . ( ). . . X509_STORE_CTX_set_trust() ctx. trust X509_TRUST_COMPAT X509_TRUST_SSL_CLIENT X509_TRUST_SSL_SERVER X509_TRUST_EMAIL X509_TRUST_OBJECT_SIGN X509_TRUST_OCSP_SIGN X509_TRUST_OCSP_REQUEST X509_TRUST_TSA. . X509_STORE_CTX_set_purpose() . X509_STORE_CTX_set_trust() X509_STORE_CTX_set_purpose() . X509_STORE_CTX_purpose_inherit() . X509_STORE_CTX_set_purpose() X509_STORE_CTX_set_trust() . ctx . ctx NULL. def_purpose purpose X509_STORE_CTX_set_purpose() . trust X509_STORE_CTX_set_trust() . def_purpose purpose trust 0 . purpose ctx trust ctx . trust 0 purpose. X509_TRUST_DEFAULT trust 0 def_purpose . X509_STORE_CTX . X509_STORE_CTX . . X509_STORE_CTX_new() NULL . X509_STORE_CTX_init() X509_STORE_CTX_init_rpk() 1 0 . X509_STORE_CTX_get0_param() X509_VERIFY_PARAM NULL . X509_STORE_CTX_get0_rpk() EVP_PKEY NULL . X509_STORE_CTX_cleanup() X509_STORE_CTX_free() X509_STORE_CTX_set0_trusted_stack() X509_STORE_CTX_set_cert() X509_STORE_CTX_set0_crls() X509_STORE_CTX_set0_param() . X509_STORE_CTX_set_default() 1 0 . X509_STORE_CTX_get_num_untrusted() . X509_verify_cert(3) X509_STORE_CTX_verify(3) X509_VERIFY_PARAM_set_flags(3) X509_STORE_CTX_set0_crls() OpenSSL 1.0.0. X509_STORE_CTX_get_num_untrusted() OpenSSL 1.1.0. X509_STORE_CTX_new_ex() OpenSSL 3.0. X509_STORE_CTX_init_rpk() X509_STORE_CTX_get0_rpk() X509_STORE_CTX_set0_rpk() OpenSSL 3.2. X509_STORE_CTX_set_ocsp_resp() OpenSSL 3.6. X509_STORE_CTX_cleanup() OpenSSL 3.0. 2009-2025 OpenSSL. . Apache 2.0 ( ""). . LICENSE . 3 . . : . 3.6.2 7 2026 X509_STORE_CTX_NEW(3ssl)