#include "polarssl/config.h"
#include "polarssl/debug.h"
#include "polarssl/ssl.h"
#include <stdlib.h>
#include <stdio.h>
#include <inttypes.h>
#include <time.h>
Go to the source code of this file.
Defines | |
#define | polarssl_malloc malloc |
#define | polarssl_free free |
Functions | |
static void | ssl_write_hostname_ext (ssl_context *ssl, unsigned char *buf, size_t *olen) |
static void | ssl_write_renegotiation_ext (ssl_context *ssl, unsigned char *buf, size_t *olen) |
static void | ssl_write_signature_algorithms_ext (ssl_context *ssl, unsigned char *buf, size_t *olen) |
static void | ssl_write_supported_elliptic_curves_ext (ssl_context *ssl, unsigned char *buf, size_t *olen) |
static void | ssl_write_supported_point_formats_ext (ssl_context *ssl, unsigned char *buf, size_t *olen) |
static void | ssl_write_max_fragment_length_ext (ssl_context *ssl, unsigned char *buf, size_t *olen) |
static void | ssl_write_truncated_hmac_ext (ssl_context *ssl, unsigned char *buf, size_t *olen) |
static void | ssl_write_session_ticket_ext (ssl_context *ssl, unsigned char *buf, size_t *olen) |
static int | ssl_write_client_hello (ssl_context *ssl) |
static int | ssl_parse_renegotiation_info (ssl_context *ssl, const unsigned char *buf, size_t len) |
static int | ssl_parse_max_fragment_length_ext (ssl_context *ssl, const unsigned char *buf, size_t len) |
static int | ssl_parse_truncated_hmac_ext (ssl_context *ssl, const unsigned char *buf, size_t len) |
static int | ssl_parse_session_ticket_ext (ssl_context *ssl, const unsigned char *buf, size_t len) |
static int | ssl_parse_supported_point_formats_ext (ssl_context *ssl, const unsigned char *buf, size_t len) |
static int | ssl_parse_server_hello (ssl_context *ssl) |
static int | ssl_parse_server_dh_params (ssl_context *ssl, unsigned char **p, unsigned char *end) |
static int | ssl_parse_server_ecdh_params (ssl_context *ssl, unsigned char **p, unsigned char *end) |
static int | ssl_parse_server_psk_hint (ssl_context *ssl, unsigned char **p, unsigned char *end) |
static int | ssl_write_encrypted_pms (ssl_context *ssl, size_t offset, size_t *olen, size_t pms_offset) |
static int | ssl_parse_signature_algorithm (ssl_context *ssl, unsigned char **p, unsigned char *end, md_type_t *md_alg, pk_type_t *pk_alg) |
static int | ssl_parse_server_key_exchange (ssl_context *ssl) |
static int | ssl_parse_certificate_request (ssl_context *ssl) |
static int | ssl_parse_server_hello_done (ssl_context *ssl) |
static int | ssl_write_client_key_exchange (ssl_context *ssl) |
static int | ssl_write_certificate_verify (ssl_context *ssl) |
static int | ssl_parse_new_session_ticket (ssl_context *ssl) |
int | ssl_handshake_client_step (ssl_context *ssl) |
#define polarssl_free free |
#define polarssl_malloc malloc |
int ssl_handshake_client_step | ( | ssl_context * | ssl | ) |
Definition at line 2238 of file ssl_cli.c.
References _ssl_context::handshake, _ssl_handshake_params::new_session_ticket, POLARSSL_ERR_SSL_BAD_INPUT_DATA, SSL_CERTIFICATE_REQUEST, SSL_CERTIFICATE_VERIFY, SSL_CLIENT_CERTIFICATE, SSL_CLIENT_CHANGE_CIPHER_SPEC, SSL_CLIENT_FINISHED, SSL_CLIENT_HELLO, SSL_CLIENT_KEY_EXCHANGE, SSL_DEBUG_MSG, SSL_FLUSH_BUFFERS, ssl_flush_output(), SSL_HANDSHAKE_OVER, ssl_handshake_wrapup(), SSL_HANDSHAKE_WRAPUP, SSL_HELLO_REQUEST, ssl_parse_certificate(), ssl_parse_certificate_request(), ssl_parse_change_cipher_spec(), ssl_parse_finished(), ssl_parse_new_session_ticket(), ssl_parse_server_hello(), ssl_parse_server_hello_done(), ssl_parse_server_key_exchange(), SSL_SERVER_CERTIFICATE, SSL_SERVER_CHANGE_CIPHER_SPEC, SSL_SERVER_FINISHED, SSL_SERVER_HELLO, SSL_SERVER_HELLO_DONE, SSL_SERVER_KEY_EXCHANGE, ssl_write_certificate(), ssl_write_certificate_verify(), ssl_write_change_cipher_spec(), ssl_write_client_hello(), ssl_write_client_key_exchange(), ssl_write_finished(), and _ssl_context::state.
Referenced by ssl_handshake_step().
static int ssl_parse_certificate_request | ( | ssl_context * | ssl | ) | [static] |
Definition at line 1589 of file ssl_cli.c.
References _ssl_handshake_params::cert_type, _ssl_context::client_auth, _ssl_context::handshake, _ssl_context::in_hslen, _ssl_context::in_msg, _ssl_context::in_msgtype, _ssl_context::minor_ver, pk_can_do(), POLARSSL_ERR_SSL_BAD_HS_CERTIFICATE_REQUEST, POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE, POLARSSL_PK_ECDSA, POLARSSL_PK_RSA, _ssl_context::record_read, SSL_CERT_TYPE_ECDSA_SIGN, SSL_CERT_TYPE_RSA_SIGN, SSL_DEBUG_MSG, SSL_DEBUG_RET, SSL_HS_CERTIFICATE_REQUEST, SSL_MINOR_VERSION_3, SSL_MSG_HANDSHAKE, ssl_own_key(), ssl_read_record(), and _ssl_context::state.
Referenced by ssl_handshake_client_step().
static int ssl_parse_max_fragment_length_ext | ( | ssl_context * | ssl, | |
const unsigned char * | buf, | |||
size_t | len | |||
) | [static] |
Definition at line 652 of file ssl_cli.c.
References _ssl_context::mfl_code, POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO, and SSL_MAX_FRAG_LEN_NONE.
Referenced by ssl_parse_server_hello().
static int ssl_parse_new_session_ticket | ( | ssl_context * | ssl | ) | [static] |
Definition at line 2142 of file ssl_cli.c.
References _ssl_context::handshake, _ssl_context::in_hslen, _ssl_context::in_msg, _ssl_context::in_msgtype, _ssl_session::length, _ssl_handshake_params::new_session_ticket, POLARSSL_ERR_SSL_BAD_HS_NEW_SESSION_TICKET, POLARSSL_ERR_SSL_MALLOC_FAILED, POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE, polarssl_free, polarssl_malloc, _ssl_context::session_negotiate, SSL_DEBUG_MSG, SSL_DEBUG_RET, SSL_HS_NEW_SESSION_TICKET, SSL_MSG_HANDSHAKE, ssl_read_record(), _ssl_session::ticket, _ssl_session::ticket_len, and _ssl_session::ticket_lifetime.
Referenced by ssl_handshake_client_step().
static int ssl_parse_renegotiation_info | ( | ssl_context * | ssl, | |
const unsigned char * | buf, | |||
size_t | len | |||
) | [static] |
Definition at line 609 of file ssl_cli.c.
References _ssl_context::own_verify_data, _ssl_context::peer_verify_data, POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO, _ssl_context::renegotiation, safer_memcmp(), _ssl_context::secure_renegotiation, SSL_DEBUG_MSG, SSL_INITIAL_HANDSHAKE, SSL_SECURE_RENEGOTIATION, ssl_send_fatal_handshake_failure(), and _ssl_context::verify_data_len.
Referenced by ssl_parse_server_hello().
static int ssl_parse_server_dh_params | ( | ssl_context * | ssl, | |
unsigned char ** | p, | |||
unsigned char * | end | |||
) | [static] |
Definition at line 1074 of file ssl_cli.c.
References _ssl_handshake_params::dhm_ctx, dhm_read_params(), dhm_context::G, dhm_context::GY, _ssl_context::handshake, dhm_context::len, dhm_context::P, POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE, POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE, SSL_DEBUG_MPI, SSL_DEBUG_MSG, and SSL_DEBUG_RET.
Referenced by ssl_parse_server_key_exchange().
static int ssl_parse_server_ecdh_params | ( | ssl_context * | ssl, | |
unsigned char ** | p, | |||
unsigned char * | end | |||
) | [static] |
Definition at line 1113 of file ssl_cli.c.
References _ssl_handshake_params::ecdh_ctx, ecdh_read_params(), ecdh_context::grp, _ssl_context::handshake, ecp_group::nbits, POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE, POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE, ecdh_context::Qp, SSL_DEBUG_ECP, SSL_DEBUG_MSG, and SSL_DEBUG_RET.
Referenced by ssl_parse_server_key_exchange().
static int ssl_parse_server_hello | ( | ssl_context * | ssl | ) | [static] |
Definition at line 743 of file ssl_cli.c.
References _ssl_context::allow_legacy_renegotiation, _ssl_session::ciphersuite, _ssl_transform::ciphersuite_info, _ssl_context::ciphersuite_list, _ssl_session::compression, _ssl_context::handshake, _ssl_session::id, _ssl_context::in_hslen, _ssl_context::in_msg, _ssl_context::in_msgtype, _ssl_session::length, _ssl_context::major_ver, _ssl_context::max_minor_ver, _ssl_context::min_minor_ver, _ssl_context::minor_ver, POLARSSL_ERR_SSL_BAD_HS_PROTOCOL_VERSION, POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO, POLARSSL_ERR_SSL_BAD_INPUT_DATA, POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE, _ssl_handshake_params::randbytes, _ssl_context::renegotiation, _ssl_handshake_params::resume, _ssl_context::secure_renegotiation, _ssl_context::session_negotiate, SSL_ALERT_LEVEL_FATAL, SSL_ALERT_MSG_PROTOCOL_VERSION, ssl_ciphersuite_from_id(), SSL_COMPRESS_DEFLATE, SSL_COMPRESS_NULL, SSL_DEBUG_BUF, SSL_DEBUG_MSG, SSL_DEBUG_RET, ssl_derive_keys(), SSL_HS_SERVER_HELLO, SSL_INITIAL_HANDSHAKE, SSL_LEGACY_BREAK_HANDSHAKE, SSL_LEGACY_NO_RENEGOTIATION, SSL_LEGACY_RENEGOTIATION, SSL_MAJOR_VERSION_3, SSL_MSG_HANDSHAKE, ssl_optimize_checksum(), ssl_parse_max_fragment_length_ext(), ssl_parse_renegotiation_info(), ssl_parse_session_ticket_ext(), ssl_parse_supported_point_formats_ext(), ssl_parse_truncated_hmac_ext(), ssl_read_record(), SSL_RENEGOTIATION, SSL_SECURE_RENEGOTIATION, ssl_send_alert_message(), ssl_send_fatal_handshake_failure(), SSL_SERVER_CHANGE_CIPHER_SPEC, _ssl_session::start, _ssl_context::state, TLS_EXT_MAX_FRAGMENT_LENGTH, TLS_EXT_RENEGOTIATION_INFO, TLS_EXT_SESSION_TICKET, TLS_EXT_SUPPORTED_POINT_FORMATS, TLS_EXT_TRUNCATED_HMAC, and _ssl_context::transform_negotiate.
Referenced by ssl_handshake_client_step().
static int ssl_parse_server_hello_done | ( | ssl_context * | ssl | ) | [static] |
Definition at line 1724 of file ssl_cli.c.
References _ssl_context::in_hslen, _ssl_context::in_msg, _ssl_context::in_msgtype, POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO_DONE, POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE, _ssl_context::record_read, SSL_DEBUG_MSG, SSL_DEBUG_RET, SSL_HS_SERVER_HELLO_DONE, SSL_MSG_HANDSHAKE, ssl_read_record(), and _ssl_context::state.
Referenced by ssl_handshake_client_step().
static int ssl_parse_server_key_exchange | ( | ssl_context * | ssl | ) | [static] |
Definition at line 1304 of file ssl_cli.c.
References _ssl_transform::ciphersuite_info, _ssl_context::handshake, _ssl_context::in_hslen, _ssl_context::in_msg, _ssl_context::in_msgtype, _ssl_ciphersuite_t::key_exchange, md5(), md5_finish(), md5_starts(), md5_update(), md_finish(), md_free_ctx(), md_info_from_type(), md_init_ctx(), md_starts(), md_update(), _ssl_context::minor_ver, _ssl_session::peer_cert, _x509_crt::pk, pk_can_do(), pk_verify(), POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE, POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE, POLARSSL_ERR_SSL_PK_TYPE_MISMATCH, POLARSSL_ERR_SSL_UNEXPECTED_MESSAGE, POLARSSL_KEY_EXCHANGE_DHE_PSK, POLARSSL_KEY_EXCHANGE_DHE_RSA, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA, POLARSSL_KEY_EXCHANGE_ECDHE_PSK, POLARSSL_KEY_EXCHANGE_ECDHE_RSA, POLARSSL_KEY_EXCHANGE_PSK, POLARSSL_KEY_EXCHANGE_RSA, POLARSSL_KEY_EXCHANGE_RSA_PSK, POLARSSL_MD_NONE, POLARSSL_MD_SHA1, POLARSSL_PK_ECDSA, POLARSSL_PK_NONE, _ssl_handshake_params::randbytes, _ssl_context::record_read, _ssl_context::session_negotiate, sha1(), sha1_finish(), sha1_starts(), sha1_update(), SSL_DEBUG_BUF, SSL_DEBUG_MSG, SSL_DEBUG_RET, ssl_get_ciphersuite_sig_pk_alg(), SSL_HS_SERVER_KEY_EXCHANGE, SSL_MINOR_VERSION_3, SSL_MSG_HANDSHAKE, ssl_parse_server_dh_params(), ssl_parse_server_ecdh_params(), ssl_parse_server_psk_hint(), ssl_parse_signature_algorithm(), ssl_read_record(), _ssl_context::state, and _ssl_context::transform_negotiate.
Referenced by ssl_handshake_client_step().
static int ssl_parse_server_psk_hint | ( | ssl_context * | ssl, | |
unsigned char ** | p, | |||
unsigned char * | end | |||
) | [static] |
Definition at line 1153 of file ssl_cli.c.
References POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE, POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE, and SSL_DEBUG_MSG.
Referenced by ssl_parse_server_key_exchange().
static int ssl_parse_session_ticket_ext | ( | ssl_context * | ssl, | |
const unsigned char * | buf, | |||
size_t | len | |||
) | [static] |
Definition at line 691 of file ssl_cli.c.
References _ssl_context::handshake, _ssl_handshake_params::new_session_ticket, POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO, _ssl_context::session_tickets, and SSL_SESSION_TICKETS_DISABLED.
Referenced by ssl_parse_server_hello().
static int ssl_parse_signature_algorithm | ( | ssl_context * | ssl, | |
unsigned char ** | p, | |||
unsigned char * | end, | |||
md_type_t * | md_alg, | |||
pk_type_t * | pk_alg | |||
) | [static] |
Definition at line 1254 of file ssl_cli.c.
References _ssl_context::minor_ver, POLARSSL_ERR_SSL_BAD_HS_SERVER_KEY_EXCHANGE, POLARSSL_MD_NONE, POLARSSL_PK_NONE, SSL_DEBUG_MSG, ssl_md_alg_from_hash(), SSL_MINOR_VERSION_3, and ssl_pk_alg_from_sig().
Referenced by ssl_parse_server_key_exchange().
static int ssl_parse_supported_point_formats_ext | ( | ssl_context * | ssl, | |
const unsigned char * | buf, | |||
size_t | len | |||
) | [static] |
Definition at line 710 of file ssl_cli.c.
References _ssl_handshake_params::ecdh_ctx, _ssl_context::handshake, ecdh_context::point_format, POLARSSL_ECP_PF_COMPRESSED, POLARSSL_ECP_PF_UNCOMPRESSED, POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO, and SSL_DEBUG_MSG.
Referenced by ssl_parse_server_hello().
static int ssl_parse_truncated_hmac_ext | ( | ssl_context * | ssl, | |
const unsigned char * | buf, | |||
size_t | len | |||
) | [static] |
Definition at line 672 of file ssl_cli.c.
References POLARSSL_ERR_SSL_BAD_HS_SERVER_HELLO, _ssl_context::session_negotiate, SSL_TRUNC_HMAC_DISABLED, SSL_TRUNC_HMAC_ENABLED, _ssl_session::trunc_hmac, and _ssl_context::trunc_hmac.
Referenced by ssl_parse_server_hello().
static int ssl_write_certificate_verify | ( | ssl_context * | ssl | ) | [static] |
Definition at line 1997 of file ssl_cli.c.
References _ssl_handshake_params::calc_verify, _ssl_transform::ciphersuite_info, _ssl_context::client_auth, _ssl_context::f_rng, _ssl_context::handshake, _ssl_ciphersuite_t::key_exchange, _ssl_ciphersuite_t::mac, _ssl_context::minor_ver, _ssl_context::out_msg, _ssl_context::out_msglen, _ssl_context::out_msgtype, _ssl_context::p_rng, pk_can_do(), pk_sign(), POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE, POLARSSL_ERR_SSL_PRIVATE_KEY_REQUIRED, POLARSSL_KEY_EXCHANGE_DHE_PSK, POLARSSL_KEY_EXCHANGE_ECDHE_PSK, POLARSSL_KEY_EXCHANGE_PSK, POLARSSL_MD_NONE, POLARSSL_MD_SHA1, POLARSSL_MD_SHA256, POLARSSL_MD_SHA384, POLARSSL_PK_ECDSA, SSL_DEBUG_MSG, SSL_DEBUG_RET, SSL_HASH_SHA256, SSL_HASH_SHA384, SSL_HS_CERTIFICATE_VERIFY, SSL_MINOR_VERSION_3, SSL_MSG_HANDSHAKE, ssl_own_cert(), ssl_own_key(), ssl_sig_from_pk(), ssl_write_record(), _ssl_context::state, and _ssl_context::transform_negotiate.
Referenced by ssl_handshake_client_step().
static int ssl_write_client_hello | ( | ssl_context * | ssl | ) | [static] |
Definition at line 379 of file ssl_cli.c.
References _ssl_context::ciphersuite_list, _ssl_context::f_rng, _ssl_context::handshake, _ssl_session::id, _ssl_session::length, _ssl_context::major_ver, _ssl_context::max_major_ver, _ssl_ciphersuite_t::max_minor_ver, _ssl_context::max_minor_ver, _ssl_context::min_major_ver, _ssl_ciphersuite_t::min_minor_ver, _ssl_context::min_minor_ver, _ssl_context::minor_ver, _ssl_context::out_msg, _ssl_context::out_msglen, _ssl_context::out_msgtype, _ssl_context::p_rng, _ssl_handshake_params::randbytes, _ssl_context::renegotiation, _ssl_handshake_params::resume, _ssl_context::session_negotiate, ssl_ciphersuite_from_id(), SSL_COMPRESS_DEFLATE, SSL_COMPRESS_NULL, SSL_DEBUG_BUF, SSL_DEBUG_MSG, SSL_DEBUG_RET, SSL_EMPTY_RENEGOTIATION_INFO, SSL_HS_CLIENT_HELLO, SSL_INITIAL_HANDSHAKE, SSL_MAX_MAJOR_VERSION, SSL_MAX_MINOR_VERSION, SSL_MSG_HANDSHAKE, ssl_write_hostname_ext(), ssl_write_max_fragment_length_ext(), ssl_write_record(), ssl_write_renegotiation_ext(), ssl_write_session_ticket_ext(), ssl_write_signature_algorithms_ext(), ssl_write_supported_elliptic_curves_ext(), ssl_write_supported_point_formats_ext(), ssl_write_truncated_hmac_ext(), _ssl_context::state, _ssl_session::ticket, and _ssl_session::ticket_len.
Referenced by ssl_handshake_client_step().
static int ssl_write_client_key_exchange | ( | ssl_context * | ssl | ) | [static] |
Definition at line 1760 of file ssl_cli.c.
References _ssl_transform::ciphersuite_info, dhm_calc_secret(), _ssl_handshake_params::dhm_ctx, dhm_make_public(), ecdh_calc_secret(), _ssl_handshake_params::ecdh_ctx, ecdh_make_public(), _ssl_context::f_rng, dhm_context::GX, _ssl_context::handshake, dhm_context::K, _ssl_ciphersuite_t::key_exchange, dhm_context::len, mpi_size(), _ssl_context::out_msg, _ssl_context::out_msglen, _ssl_context::out_msgtype, dhm_context::P, _ssl_context::p_rng, _ssl_handshake_params::pmslen, POLARSSL_ERR_SSL_FEATURE_UNAVAILABLE, POLARSSL_ERR_SSL_PRIVATE_KEY_REQUIRED, POLARSSL_KEY_EXCHANGE_DHE_PSK, POLARSSL_KEY_EXCHANGE_DHE_RSA, POLARSSL_KEY_EXCHANGE_ECDHE_ECDSA, POLARSSL_KEY_EXCHANGE_ECDHE_PSK, POLARSSL_KEY_EXCHANGE_ECDHE_RSA, POLARSSL_KEY_EXCHANGE_PSK, POLARSSL_KEY_EXCHANGE_RSA, POLARSSL_KEY_EXCHANGE_RSA_PSK, POLARSSL_MPI_MAX_SIZE, _ssl_handshake_params::premaster, _ssl_context::psk, _ssl_context::psk_identity, _ssl_context::psk_identity_len, ecdh_context::Q, SSL_DEBUG_ECP, SSL_DEBUG_MPI, SSL_DEBUG_MSG, SSL_DEBUG_RET, ssl_derive_keys(), SSL_HS_CLIENT_KEY_EXCHANGE, SSL_MAX_CONTENT_LEN, SSL_MSG_HANDSHAKE, ssl_psk_derive_premaster(), ssl_write_encrypted_pms(), ssl_write_record(), _ssl_context::state, _ssl_context::transform_negotiate, dhm_context::X, and ecdh_context::z.
Referenced by ssl_handshake_client_step().
static int ssl_write_encrypted_pms | ( | ssl_context * | ssl, | |
size_t | offset, | |||
size_t * | olen, | |||
size_t | pms_offset | |||
) | [static] |
Definition at line 1189 of file ssl_cli.c.
References _ssl_context::f_rng, _ssl_context::handshake, _ssl_context::max_major_ver, _ssl_context::max_minor_ver, _ssl_context::minor_ver, _ssl_context::out_msg, _ssl_context::p_rng, _ssl_session::peer_cert, _x509_crt::pk, pk_can_do(), pk_encrypt(), _ssl_handshake_params::pmslen, POLARSSL_ERR_SSL_PK_TYPE_MISMATCH, POLARSSL_PK_RSA, _ssl_handshake_params::premaster, _ssl_context::session_negotiate, SSL_DEBUG_MSG, SSL_DEBUG_RET, SSL_MAX_CONTENT_LEN, and SSL_MINOR_VERSION_0.
Referenced by ssl_write_client_key_exchange().
static void ssl_write_hostname_ext | ( | ssl_context * | ssl, | |
unsigned char * | buf, | |||
size_t * | olen | |||
) | [static] |
Definition at line 55 of file ssl_cli.c.
References _ssl_context::hostname, _ssl_context::hostname_len, SSL_DEBUG_MSG, TLS_EXT_SERVERNAME, and TLS_EXT_SERVERNAME_HOSTNAME.
Referenced by ssl_write_client_hello().
static void ssl_write_max_fragment_length_ext | ( | ssl_context * | ssl, | |
unsigned char * | buf, | |||
size_t * | olen | |||
) | [static] |
Definition at line 293 of file ssl_cli.c.
References _ssl_context::mfl_code, SSL_DEBUG_MSG, SSL_MAX_FRAG_LEN_NONE, and TLS_EXT_MAX_FRAGMENT_LENGTH.
Referenced by ssl_write_client_hello().
static void ssl_write_renegotiation_ext | ( | ssl_context * | ssl, | |
unsigned char * | buf, | |||
size_t * | olen | |||
) | [static] |
Definition at line 106 of file ssl_cli.c.
References _ssl_context::own_verify_data, _ssl_context::renegotiation, SSL_DEBUG_MSG, SSL_RENEGOTIATION, TLS_EXT_RENEGOTIATION_INFO, and _ssl_context::verify_data_len.
Referenced by ssl_write_client_hello().
static void ssl_write_session_ticket_ext | ( | ssl_context * | ssl, | |
unsigned char * | buf, | |||
size_t * | olen | |||
) | [static] |
Definition at line 343 of file ssl_cli.c.
References _ssl_context::session_negotiate, _ssl_context::session_tickets, SSL_DEBUG_MSG, SSL_SESSION_TICKETS_DISABLED, _ssl_session::ticket, _ssl_session::ticket_len, and TLS_EXT_SESSION_TICKET.
Referenced by ssl_write_client_hello().
static void ssl_write_signature_algorithms_ext | ( | ssl_context * | ssl, | |
unsigned char * | buf, | |||
size_t * | olen | |||
) | [static] |
Definition at line 135 of file ssl_cli.c.
References _ssl_context::max_minor_ver, SSL_DEBUG_MSG, SSL_HASH_MD5, SSL_HASH_SHA1, SSL_HASH_SHA224, SSL_HASH_SHA256, SSL_HASH_SHA384, SSL_HASH_SHA512, SSL_MINOR_VERSION_3, SSL_SIG_ECDSA, SSL_SIG_RSA, and TLS_EXT_SIG_ALG.
Referenced by ssl_write_client_hello().
static void ssl_write_supported_elliptic_curves_ext | ( | ssl_context * | ssl, | |
unsigned char * | buf, | |||
size_t * | olen | |||
) | [static] |
Definition at line 229 of file ssl_cli.c.
References ecp_curve_list(), ecp_curve_info::grp_id, POLARSSL_ECP_DP_NONE, SSL_DEBUG_MSG, TLS_EXT_SUPPORTED_ELLIPTIC_CURVES, and ecp_curve_info::tls_id.
Referenced by ssl_write_client_hello().
static void ssl_write_supported_point_formats_ext | ( | ssl_context * | ssl, | |
unsigned char * | buf, | |||
size_t * | olen | |||
) | [static] |
Definition at line 268 of file ssl_cli.c.
References POLARSSL_ECP_PF_UNCOMPRESSED, SSL_DEBUG_MSG, and TLS_EXT_SUPPORTED_POINT_FORMATS.
Referenced by ssl_write_client_hello().
static void ssl_write_truncated_hmac_ext | ( | ssl_context * | ssl, | |
unsigned char * | buf, | |||
size_t * | olen | |||
) | [static] |
Definition at line 319 of file ssl_cli.c.
References SSL_DEBUG_MSG, SSL_TRUNC_HMAC_DISABLED, TLS_EXT_TRUNCATED_HMAC, and _ssl_context::trunc_hmac.
Referenced by ssl_write_client_hello().