OpenBSD manual page server

Manual Page Search Parameters

SSL_GET_EX_NEW_INDEX(3) Library Functions Manual SSL_GET_EX_NEW_INDEX(3)

SSL_get_ex_new_index, SSL_set_ex_data, SSL_get_ex_datainternal application specific data functions

#include <openssl/ssl.h>

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

int
SSL_set_ex_data(SSL *ssl, int idx, void *arg);

void *
SSL_get_ex_data(const SSL *ssl, int idx);

typedef int new_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
               int idx, long argl, void *argp);
typedef void free_func(void *parent, void *ptr, CRYPTO_EX_DATA *ad,
               int idx, long argl, void *argp);
typedef int dup_func(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d,
               int idx, long argl, void *argp);

Several OpenSSL structures can have application specific data attached to them. These functions are used internally by OpenSSL to manipulate application specific data attached to a specific structure.

() is used to register a new index for application specific data.

() is used to store application data at arg for idx into the ssl object.

() is used to retrieve the information for idx from ssl.

A detailed description for the () functionality can be found in RSA_get_ex_new_index(3). The () and () functionality is described in CRYPTO_set_ex_data(3).

An example of how to use the functionality is included in the example verify_callback() in SSL_CTX_set_verify(3).

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

SSL_get_ex_new_index(), SSL_set_ex_data(), and SSL_get_ex_data() first appeared in SSLeay 0.9.0 and have been available since OpenBSD 2.4.

March 21, 2018 OpenBSD-6.3