- NAME
- SYNOPSIS
- DESCRIPTION
- NOTES
- RETURN VALUES
- EXAMPLES
- SEE ALSO

# NAME

SSL_get_ex_data_X509_STORE_CTX_idx - get ex_data index to access SSL structure from X509_STORE_CTX

# SYNOPSIS

     #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.

# NOTES

Whenever a X509_STORE_CTX object is created for the verification of the peers 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()` 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()` allows to access the SSL object for the connection to be accessed during the `verify_callback()` when checking the peers certificate. Please check the example in SSL_CTX_set_verify,

# SEE ALSO

ssl, SSL_CTX_set_verify, CRYPTO_set_ex_data