_ssl_context Struct Reference

#include <ssl.h>

Collaboration diagram for _ssl_context:
Collaboration graph
[legend]

Data Fields

int state
int renegotiation
int major_ver
int minor_ver
int max_major_ver
int max_minor_ver
int min_major_ver
int min_minor_ver
int(* f_rng )(void *, unsigned char *, size_t)
void(* f_dbg )(void *, int, const char *)
int(* f_recv )(void *, unsigned char *, size_t)
int(* f_send )(void *, const unsigned char *, size_t)
int(* f_get_cache )(void *, ssl_session *)
int(* f_set_cache )(void *, const ssl_session *)
void * p_rng
void * p_dbg
void * p_recv
void * p_send
void * p_get_cache
void * p_set_cache
void * p_hw_data
int(* f_sni )(void *, ssl_context *, const unsigned char *, size_t)
void * p_sni
int(* f_vrfy )(void *, x509_crt *, int, int *)
void * p_vrfy
int(* f_psk )(void *, ssl_context *, const unsigned char *, size_t)
void * p_psk
ssl_sessionsession_in
ssl_sessionsession_out
ssl_sessionsession
ssl_sessionsession_negotiate
ssl_handshake_paramshandshake
ssl_transformtransform_in
ssl_transformtransform_out
ssl_transformtransform
ssl_transformtransform_negotiate
unsigned char * in_ctr
unsigned char * in_hdr
unsigned char * in_iv
unsigned char * in_msg
unsigned char * in_offt
int in_msgtype
size_t in_msglen
size_t in_left
size_t in_hslen
int nb_zero
int record_read
unsigned char * out_ctr
unsigned char * out_hdr
unsigned char * out_iv
unsigned char * out_msg
int out_msgtype
size_t out_msglen
size_t out_left
unsigned char mfl_code
ssl_key_certkey_cert
x509_crtca_chain
x509_crlca_crl
const char * peer_cn
ssl_ticket_keysticket_keys
int endpoint
int authmode
int client_auth
int verify_result
int disable_renegotiation
int allow_legacy_renegotiation
const int * ciphersuite_list [4]
int trunc_hmac
int session_tickets
int ticket_lifetime
mpi dhm_P
mpi dhm_G
unsigned char * psk
size_t psk_len
unsigned char * psk_identity
size_t psk_identity_len
unsigned char * hostname
size_t hostname_len
int secure_renegotiation
size_t verify_data_len
char own_verify_data [36]
char peer_verify_data [36]

Detailed Description

Definition at line 592 of file ssl.h.


Field Documentation

allow legacy renegotiation

Definition at line 722 of file ssl.h.

Referenced by ssl_legacy_renegotiation(), ssl_parse_client_hello(), ssl_parse_client_hello_v2(), ssl_parse_server_hello(), and ssl_read().

verification mode

Definition at line 718 of file ssl.h.

Referenced by ssl_parse_certificate(), ssl_set_authmode(), and ssl_write_certificate_request().

own trusted CA chain

Definition at line 702 of file ssl.h.

Referenced by ssl_parse_certificate(), ssl_set_ca_chain(), and ssl_write_certificate_request().

trusted CA CRLs

Definition at line 703 of file ssl.h.

Referenced by ssl_parse_certificate(), and ssl_set_ca_chain().

flag for client auth.

Definition at line 719 of file ssl.h.

Referenced by ssl_parse_certificate_request(), ssl_write_certificate(), and ssl_write_certificate_verify().

generator for DHM

Definition at line 734 of file ssl.h.

Referenced by ssl_free(), ssl_init(), ssl_set_dh_param(), ssl_set_dh_param_ctx(), and ssl_write_server_key_exchange().

prime modulus for DHM

Definition at line 733 of file ssl.h.

Referenced by ssl_free(), ssl_init(), ssl_set_dh_param(), ssl_set_dh_param_ctx(), and ssl_write_server_key_exchange().

enable/disable renegotiation

Definition at line 721 of file ssl.h.

Referenced by ssl_read(), and ssl_set_renegotiation().

void(* _ssl_context::f_dbg)(void *, int, const char *)
int(* _ssl_context::f_psk)(void *, ssl_context *, const unsigned char *, size_t)
int(* _ssl_context::f_recv)(void *, unsigned char *, size_t)

Referenced by ssl_fetch_input(), and ssl_set_bio().

int(* _ssl_context::f_rng)(void *, unsigned char *, size_t)
int(* _ssl_context::f_send)(void *, const unsigned char *, size_t)

Referenced by ssl_flush_output(), and ssl_set_bio().

int(* _ssl_context::f_set_cache)(void *, const ssl_session *)
int(* _ssl_context::f_sni)(void *, ssl_context *, const unsigned char *, size_t)
int(* _ssl_context::f_vrfy)(void *, x509_crt *, int, int *)

params required only during the handshake process

Definition at line 649 of file ssl.h.

Referenced by ssl_add_key_cert(), ssl_calc_finished_ssl(), ssl_calc_finished_tls(), ssl_calc_finished_tls_sha256(), ssl_calc_finished_tls_sha384(), ssl_calc_verify_ssl(), ssl_calc_verify_tls(), ssl_calc_verify_tls_sha256(), ssl_calc_verify_tls_sha384(), ssl_derive_keys(), ssl_free(), ssl_handshake_client_step(), ssl_handshake_init(), ssl_handshake_server_step(), ssl_handshake_wrapup(), ssl_optimize_checksum(), ssl_own_cert(), ssl_own_key(), ssl_parse_certificate_request(), ssl_parse_certificate_verify(), ssl_parse_client_dh_public(), ssl_parse_client_hello(), ssl_parse_client_hello_v2(), ssl_parse_client_key_exchange(), ssl_parse_encrypted_pms(), ssl_parse_finished(), ssl_parse_new_session_ticket(), ssl_parse_server_dh_params(), ssl_parse_server_ecdh_params(), ssl_parse_server_hello(), ssl_parse_server_key_exchange(), ssl_parse_session_ticket_ext(), ssl_parse_signature_algorithms_ext(), ssl_parse_supported_elliptic_curves(), ssl_parse_supported_point_formats(), ssl_parse_supported_point_formats_ext(), ssl_pick_cert(), ssl_psk_derive_premaster(), ssl_read_record(), ssl_set_session(), ssl_sni_wrapper(), ssl_update_checksum_md5sha1(), ssl_update_checksum_sha256(), ssl_update_checksum_sha384(), ssl_update_checksum_start(), ssl_write_certificate_request(), ssl_write_certificate_verify(), ssl_write_client_hello(), ssl_write_client_key_exchange(), ssl_write_encrypted_pms(), ssl_write_finished(), ssl_write_new_session_ticket(), ssl_write_record(), ssl_write_server_hello(), ssl_write_server_key_exchange(), ssl_write_session_ticket_ext(), and ssl_write_supported_point_formats_ext().

unsigned char* _ssl_context::hostname

Definition at line 751 of file ssl.h.

Referenced by ssl_free(), ssl_set_hostname(), and ssl_write_hostname_ext().

Definition at line 752 of file ssl.h.

Referenced by ssl_free(), ssl_set_hostname(), and ssl_write_hostname_ext().

unsigned char* _ssl_context::in_ctr

64-bit incoming message counter

Definition at line 663 of file ssl.h.

Referenced by ssl_decrypt_buf(), ssl_free(), ssl_init(), ssl_parse_finished(), and ssl_session_reset().

unsigned char* _ssl_context::in_hdr

5-byte record header (in_ctr+8)

Definition at line 664 of file ssl.h.

Referenced by ssl_decrypt_buf(), ssl_fetch_input(), ssl_init(), ssl_parse_client_hello(), ssl_parse_client_hello_v2(), and ssl_read_record().

unsigned char* _ssl_context::in_iv

ivlen-byte IV (in_hdr+5)

Definition at line 665 of file ssl.h.

Referenced by ssl_decrypt_buf(), ssl_init(), and ssl_parse_finished().

amount of data read so far

Definition at line 671 of file ssl.h.

Referenced by ssl_fetch_input(), ssl_parse_client_hello(), ssl_parse_client_hello_v2(), ssl_read_record(), and ssl_session_reset().

unsigned char* _ssl_context::in_msg
unsigned char* _ssl_context::in_offt

read offset in application data

Definition at line 667 of file ssl.h.

Referenced by ssl_get_bytes_avail(), ssl_read(), and ssl_session_reset().

own certificate(s)/key(s)

Definition at line 700 of file ssl.h.

Referenced by ssl_add_key_cert(), ssl_free(), ssl_handshake_init(), and ssl_sni_wrapper().

max. major version used

Definition at line 603 of file ssl.h.

Referenced by ssl_init(), ssl_set_max_version(), ssl_write_client_hello(), and ssl_write_encrypted_pms().

unsigned char _ssl_context::mfl_code

MaxFragmentLength chosen by us

Definition at line 693 of file ssl.h.

Referenced by ssl_parse_max_fragment_length_ext(), ssl_set_max_frag_len(), ssl_write(), and ssl_write_max_fragment_length_ext().

min. major version used

Definition at line 605 of file ssl.h.

Referenced by ssl_init(), ssl_parse_client_hello(), ssl_parse_client_hello_v2(), ssl_set_min_version(), and ssl_write_client_hello().

# of 0-length encrypted messages

Definition at line 674 of file ssl.h.

Referenced by ssl_decrypt_buf(), and ssl_session_reset().

unsigned char* _ssl_context::out_ctr

64-bit outgoing message counter

Definition at line 680 of file ssl.h.

Referenced by ssl_encrypt_buf(), ssl_free(), ssl_init(), ssl_session_reset(), ssl_write_finished(), and ssl_write_ticket().

unsigned char* _ssl_context::out_hdr

5-byte record header (out_ctr+8)

Definition at line 681 of file ssl.h.

Referenced by ssl_flush_output(), ssl_init(), and ssl_write_record().

unsigned char* _ssl_context::out_iv

ivlen-byte IV (out_hdr+5)

Definition at line 682 of file ssl.h.

Referenced by ssl_encrypt_buf(), ssl_init(), and ssl_write_finished().

amount of data not yet written

Definition at line 687 of file ssl.h.

Referenced by ssl_flush_output(), ssl_session_reset(), ssl_write(), and ssl_write_record().

unsigned char* _ssl_context::out_msg

previous handshake verify data

Definition at line 761 of file ssl.h.

Referenced by ssl_parse_renegotiation_info(), ssl_session_reset(), ssl_write_finished(), and ssl_write_renegotiation_ext().

context for the debug function

Definition at line 619 of file ssl.h.

Referenced by debug_print_buf(), debug_print_crt(), debug_print_mpi(), debug_print_msg(), debug_print_ret(), and ssl_set_dbg().

context for cache retrieval

Definition at line 622 of file ssl.h.

Referenced by ssl_set_session_cache(), and ssl_write_server_hello().

context for HW acceleration

Definition at line 624 of file ssl.h.

context for PSK retrieval

Definition at line 638 of file ssl.h.

Referenced by ssl_parse_client_psk_identity(), and ssl_set_psk_cb().

context for reading operations

Definition at line 620 of file ssl.h.

Referenced by ssl_fetch_input(), and ssl_set_bio().

context for writing operations

Definition at line 621 of file ssl.h.

Referenced by ssl_flush_output(), and ssl_set_bio().

context for cache store

Definition at line 623 of file ssl.h.

Referenced by ssl_handshake_wrapup(), and ssl_set_session_cache().

context for SNI extension

Definition at line 628 of file ssl.h.

Referenced by ssl_set_sni(), and ssl_sni_wrapper().

context for verification

Definition at line 633 of file ssl.h.

Referenced by ssl_parse_certificate(), and ssl_set_verify().

const char* _ssl_context::peer_cn

expected peer CN

Definition at line 704 of file ssl.h.

Referenced by ssl_parse_certificate(), and ssl_set_ca_chain().

previous handshake verify data

Definition at line 762 of file ssl.h.

Referenced by ssl_parse_finished(), ssl_parse_renegotiation_info(), ssl_session_reset(), and ssl_write_renegotiation_ext().

unsigned char* _ssl_context::psk

record is already present

Definition at line 675 of file ssl.h.

Referenced by ssl_parse_certificate_request(), ssl_parse_server_hello_done(), ssl_parse_server_key_exchange(), and ssl_session_reset().

current session data (in)

Definition at line 644 of file ssl.h.

Referenced by ssl_parse_finished(), and ssl_read_record().

current session data (out)

Definition at line 645 of file ssl.h.

Referenced by ssl_write(), ssl_write_finished(), and ssl_write_record().

use session tickets?

Definition at line 728 of file ssl.h.

Referenced by ssl_parse_session_ticket_ext(), ssl_set_endpoint(), ssl_set_session_tickets(), and ssl_write_session_ticket_ext().

keys for ticket encryption

Definition at line 711 of file ssl.h.

Referenced by ssl_free(), ssl_parse_ticket(), ssl_ticket_keys_init(), and ssl_write_ticket().

session ticket lifetime

Definition at line 729 of file ssl.h.

Referenced by ssl_init(), ssl_parse_ticket(), ssl_set_session_ticket_lifetime(), and ssl_write_new_session_ticket().

negotiated transform params

Definition at line 657 of file ssl.h.

Referenced by ssl_free(), ssl_handshake_wrapup(), and ssl_session_reset().

current transform params (in)

Definition at line 655 of file ssl.h.

Referenced by ssl_decrypt_buf(), ssl_parse_finished(), ssl_read_record(), and ssl_session_reset().

current transform params (in)

Definition at line 656 of file ssl.h.

Referenced by ssl_encrypt_buf(), ssl_session_reset(), ssl_write_finished(), and ssl_write_record().

negotiate truncated hmac?

Definition at line 725 of file ssl.h.

Referenced by ssl_parse_truncated_hmac_ext(), ssl_set_truncated_hmac(), and ssl_write_truncated_hmac_ext().

length of verify data stored

Definition at line 760 of file ssl.h.

Referenced by ssl_parse_finished(), ssl_parse_renegotiation_info(), ssl_session_reset(), ssl_write_finished(), and ssl_write_renegotiation_ext().

verification result

Definition at line 720 of file ssl.h.


The documentation for this struct was generated from the following file:

Generated on 9 Apr 2014 for PolarSSL v1.3.2 by  doxygen 1.6.1