extra

extra

Synopsis

#define             GNUTLS_EXTRA_VERSION
enum                gnutls_ia_apptype_t;
int                 (*gnutls_ia_avp_func)               (gnutls_session_t session,
                                                         void *ptr,
                                                         const char *last,
                                                         size_t lastlen,
                                                         char **next,
                                                         size_t *nextlen);
void                gnutls_ia_free_client_credentials   (gnutls_ia_client_credentials_t sc);
int                 gnutls_ia_allocate_client_credentials
                                                        (gnutls_ia_client_credentials_t *sc);
void                gnutls_ia_free_server_credentials   (gnutls_ia_server_credentials_t sc);
int                 gnutls_ia_allocate_server_credentials
                                                        (gnutls_ia_server_credentials_t *sc);
void                gnutls_ia_set_client_avp_function   (gnutls_ia_client_credentials_t cred,
                                                         gnutls_ia_avp_func avp_func);
void                gnutls_ia_set_client_avp_ptr        (gnutls_ia_client_credentials_t cred,
                                                         void *ptr);
void *              gnutls_ia_get_client_avp_ptr        (gnutls_ia_client_credentials_t cred);
void                gnutls_ia_set_server_avp_function   (gnutls_ia_server_credentials_t cred,
                                                         gnutls_ia_avp_func avp_func);
void                gnutls_ia_set_server_avp_ptr        (gnutls_ia_server_credentials_t cred,
                                                         void *ptr);
void *              gnutls_ia_get_server_avp_ptr        (gnutls_ia_server_credentials_t cred);
int                 gnutls_ia_handshake_p               (gnutls_session_t session);
int                 gnutls_ia_handshake                 (gnutls_session_t session);
int                 gnutls_ia_permute_inner_secret      (gnutls_session_t session,
                                                         size_t session_keys_size,
                                                         const char *session_keys);
int                 gnutls_ia_endphase_send             (gnutls_session_t session,
                                                         int final_p);
int                 gnutls_ia_verify_endphase           (gnutls_session_t session,
                                                         const char *checksum);
ssize_t             gnutls_ia_send                      (gnutls_session_t session,
                                                         const char *data,
                                                         size_t sizeofdata);
ssize_t             gnutls_ia_recv                      (gnutls_session_t session,
                                                         char *data,
                                                         size_t sizeofdata);
int                 gnutls_ia_generate_challenge        (gnutls_session_t session,
                                                         size_t buffer_size,
                                                         char *buffer);
void                gnutls_ia_extract_inner_secret      (gnutls_session_t session,
                                                         char *buffer);
void                gnutls_ia_enable                    (gnutls_session_t session,
                                                         int allow_skip_on_resume);
int                 gnutls_global_init_extra            (void);
int                 gnutls_register_md5_handler         (void);
const char *        gnutls_extra_check_version          (const char *req_version);

Description

Details

GNUTLS_EXTRA_VERSION

#define GNUTLS_EXTRA_VERSION GNUTLS_VERSION


enum gnutls_ia_apptype_t

  typedef enum
  {
    GNUTLS_IA_APPLICATION_PAYLOAD = 0,
    GNUTLS_IA_INTERMEDIATE_PHASE_FINISHED = 1,
    GNUTLS_IA_FINAL_PHASE_FINISHED = 2
  } gnutls_ia_apptype_t;

Enumeration of different certificate encoding formats.

GNUTLS_IA_APPLICATION_PAYLOAD

TLS/IA application payload.

GNUTLS_IA_INTERMEDIATE_PHASE_FINISHED

TLS/IA intermediate phase finished.

GNUTLS_IA_FINAL_PHASE_FINISHED

TLS/IA final phase finished.

gnutls_ia_avp_func ()

int                 (*gnutls_ia_avp_func)               (gnutls_session_t session,
                                                         void *ptr,
                                                         const char *last,
                                                         size_t lastlen,
                                                         char **next,
                                                         size_t *nextlen);

session :

ptr :

last :

lastlen :

next :

nextlen :

Returns :


gnutls_ia_free_client_credentials ()

void                gnutls_ia_free_client_credentials   (gnutls_ia_client_credentials_t sc);

sc :


gnutls_ia_allocate_client_credentials ()

int                 gnutls_ia_allocate_client_credentials
                                                        (gnutls_ia_client_credentials_t *sc);

sc :

Returns :


gnutls_ia_free_server_credentials ()

void                gnutls_ia_free_server_credentials   (gnutls_ia_server_credentials_t sc);

sc :


gnutls_ia_allocate_server_credentials ()

int                 gnutls_ia_allocate_server_credentials
                                                        (gnutls_ia_server_credentials_t *sc);

sc :

Returns :


gnutls_ia_set_client_avp_function ()

void                gnutls_ia_set_client_avp_function   (gnutls_ia_client_credentials_t cred,
                                                         gnutls_ia_avp_func avp_func);

cred :

avp_func :


gnutls_ia_set_client_avp_ptr ()

void                gnutls_ia_set_client_avp_ptr        (gnutls_ia_client_credentials_t cred,
                                                         void *ptr);

cred :

ptr :


gnutls_ia_get_client_avp_ptr ()

void *              gnutls_ia_get_client_avp_ptr        (gnutls_ia_client_credentials_t cred);

cred :

Returns :


gnutls_ia_set_server_avp_function ()

void                gnutls_ia_set_server_avp_function   (gnutls_ia_server_credentials_t cred,
                                                         gnutls_ia_avp_func avp_func);

cred :

avp_func :


gnutls_ia_set_server_avp_ptr ()

void                gnutls_ia_set_server_avp_ptr        (gnutls_ia_server_credentials_t cred,
                                                         void *ptr);

cred :

ptr :


gnutls_ia_get_server_avp_ptr ()

void *              gnutls_ia_get_server_avp_ptr        (gnutls_ia_server_credentials_t cred);

cred :

Returns :


gnutls_ia_handshake_p ()

int                 gnutls_ia_handshake_p               (gnutls_session_t session);

session :

Returns :


gnutls_ia_handshake ()

int                 gnutls_ia_handshake                 (gnutls_session_t session);

session :

Returns :


gnutls_ia_permute_inner_secret ()

int                 gnutls_ia_permute_inner_secret      (gnutls_session_t session,
                                                         size_t session_keys_size,
                                                         const char *session_keys);

session :

session_keys_size :

session_keys :

Returns :


gnutls_ia_endphase_send ()

int                 gnutls_ia_endphase_send             (gnutls_session_t session,
                                                         int final_p);

session :

final_p :

Returns :


gnutls_ia_verify_endphase ()

int                 gnutls_ia_verify_endphase           (gnutls_session_t session,
                                                         const char *checksum);

session :

checksum :

Returns :


gnutls_ia_send ()

ssize_t             gnutls_ia_send                      (gnutls_session_t session,
                                                         const char *data,
                                                         size_t sizeofdata);

session :

data :

sizeofdata :

Returns :


gnutls_ia_recv ()

ssize_t             gnutls_ia_recv                      (gnutls_session_t session,
                                                         char *data,
                                                         size_t sizeofdata);

session :

data :

sizeofdata :

Returns :


gnutls_ia_generate_challenge ()

int                 gnutls_ia_generate_challenge        (gnutls_session_t session,
                                                         size_t buffer_size,
                                                         char *buffer);

session :

buffer_size :

buffer :

Returns :


gnutls_ia_extract_inner_secret ()

void                gnutls_ia_extract_inner_secret      (gnutls_session_t session,
                                                         char *buffer);

session :

buffer :


gnutls_ia_enable ()

void                gnutls_ia_enable                    (gnutls_session_t session,
                                                         int allow_skip_on_resume);

session :

allow_skip_on_resume :


gnutls_global_init_extra ()

int                 gnutls_global_init_extra            (void);

This function initializes the global state of gnutls-extra library to defaults.

Note that gnutls_global_init() has to be called before this function. If this function is not called then the gnutls-extra library will not be usable.

This function is not thread safe, see the discussion for gnutls_global_init() on how to deal with that.

Returns :

On success, GNUTLS_E_SUCCESS (zero) is returned, otherwise an error code is returned.

gnutls_register_md5_handler ()

int                 gnutls_register_md5_handler         (void);

Register a non-libgcrypt based MD5 and HMAC-MD5 handler. This is useful if you run Libgcrypt in FIPS-mode. Normally TLS requires use of MD5, so without this you cannot use GnuTLS with libgcrypt in FIPS mode.

Returns :

GNUTLS_E_SUCCESS on success, otherwise an error.

Since 2.6.0


gnutls_extra_check_version ()

const char *        gnutls_extra_check_version          (const char *req_version);

Check GnuTLS Extra Library version.

See GNUTLS_EXTRA_VERSION for a suitable req_version string.

req_version :

version string to compare with, or NULL.

Returns :

Check that the version of the library is at minimum the one given as a string in req_version and return the actual version string of the library; return NULL if the condition is not met. If NULL is passed to this function no check is done and only the version string is returned.