libressl-X509_STORE_CTX_get_ex_new_index(3)

libressl-X509_STORE_CTX_get_ex_new_index3

Add application specific data to x509_store_ctx structures

Usage

Crypto Library (libcrypto, -lcrypto)

#include <openssl/x509_vfy.h>

int

X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);

int

X509_STORE_CTX_set_ex_data(X509_STORE_CTX *d, int idx, void *arg);

void *

X509_STORE_CTX_get_ex_data(X509_STORE_CTX *d, int idx);

int

X509_STORE_CTX_set_app_data(X509_STORE_CTX *d, void *arg);

void *

X509_STORE_CTX_get_app_data(X509_STORE_CTX *d);

Overview

These functions handle application specific data in X509_STORE_CTX structures. Their usage is identical to that of RSA_get_ex_new_index(3), RSA_set_ex_data(3), and RSA_get_ex_data(3).

This mechanism is used internally by the ssl(3) library to store the SSL structure associated with a verification operation in an X509_STORE_CTX structure.

X509_STORE_CTX_set_app_data() and X509_STORE_CTX_get_app_data() are macros calling X509_STORE_CTX_set_ex_data() and X509_STORE_CTX_get_ex_data(), respectively, with an idx of 0.

Return values

X509_STORE_CTX_get_ex_new_index() returns a new index or -1 on failure.

X509_STORE_CTX_set_ex_data() and X509_STORE_CTX_set_app_data() return 1 on success or 0 on failure.

X509_STORE_CTX_get_ex_data() and X509_STORE_CTX_get_app_data() return the application data or NULL on failure. NULL may also be valid application data, but currently these functions can only fail if given an invalid idx argument.

History

X509_STORE_CTX_set_app_data() and X509_STORE_CTX_get_app_data() first appeared in SSLeay 0.8.0 and X509_STORE_CTX_get_ex_new_index(), X509_STORE_CTX_set_ex_data(), and X509_STORE_CTX_get_ex_data() in SSLeay 0.9.0. All these functions have been available since OpenBSD 2.4.

From libressl 4.4.0-1 in Arch Linux 2026-11-07. Parsed by carta from the page's mdoc source.