SSL_GET_EX_DATA_X509_STORE_CTX_IDX(3) | Library Functions Manual | SSL_GET_EX_DATA_X509_STORE_CTX_IDX(3)

# NAME

`SSL_get_ex_data_X509_STORE_CTX_idx` — get ex_data index to access SSL structure from X509_STORE_CTX

# SYNOPSIS

library “libssl” libcrypto
`#include <openssl/ssl.h>`

int
`SSL_get_ex_data_X509_STORE_CTX_idx`(void);

# DESCRIPTION

`SSL_get_ex_data_X509_STORE_CTX_idx`() returns the index number under which the pointer to the SSL object is stored into the X509_STORE_CTX object.

Whenever a X509_STORE_CTX object is created for the verification of the peer's certificate during a handshake, a pointer to the SSL object is stored into the X509_STORE_CTX object to identify the connection affected. To retrieve this pointer the X509_STORE_CTX_get_ex_data(3) function can be used with the correct index. This index is globally the same for all X509_STORE_CTX objects and can be retrieved using `SSL_get_ex_data_X509_STORE_CTX_idx`(). The index value is set when `SSL_get_ex_data_X509_STORE_CTX_idx`() is first called either by the application program directly or indirectly during other SSL setup functions or during the handshake.

The value depends on other index values defined for X509_STORE_CTX objects before the SSL index is created.

# RETURN VALUES

≥0
  The index value to access the pointer.
<0
  An error occurred, check the error stack for a detailed error message.

# EXAMPLES

The index returned from `SSL_get_ex_data_X509_STORE_CTX_idx`() provides access to SSL object for the connection during the `verify_callback`() when checking the peer's certificate. Check the example in SSL_CTX_set_verify(3).

# SEE ALSO

CRYPTO_set_ex_data(3), ssl(3), SSL_CTX_set_verify(3)

# HISTORY

`SSL_get_ex_data_X509_STORE_CTX_idx`() first appeared in SSLeay 0.9.1 and has been available since OpenBSD 2.6.

June 8, 2025 | Debian