#include "gnutls_int.h"
#include "gnutls_handshake.h"
#include "gnutls_kx.h"
#include "gnutls_dh.h"
#include "gnutls_errors.h"
#include "gnutls_algorithms.h"
#include "debug.h"
#include "gnutls_mpi.h"
#include <gnutls_state.h>
#include <gnutls_datum.h>
#include <gnutls_rsa_export.h>
Go to the source code of this file.
#define MASTER_SECRET "master secret" |
#define PREMASTER session->key->key |
static int generate_normal_master | ( | MHD_gtls_session_t | session, | |
int | keep_premaster | |||
) | [static] |
Definition at line 59 of file gnutls_kx.c.
References MHD_gtls_security_param_st::client_random, MHD_gtls_security_param_st::inner_secret, MHD_gtls_security_param_st::master_secret, MASTER_SECRET, MHD__gnutls_free_datum, MHD__gnutls_hard_log, MHD__gnutls_protocol_get_version(), MHD_GNUTLS_PROTOCOL_SSL3, MHD_gnutls_ssl3_generate_random(), MHD_gtls_bin2hex(), MHD_gtls_PRF(), PREMASTER, MHD_gtls_session_int::security_parameters, MHD_gtls_security_param_st::server_random, TLS_MASTER_SIZE, and TLS_RANDOM_SIZE.
Referenced by MHD_gtls_generate_master().
int MHD_gtls_generate_master | ( | MHD_gtls_session_t | session, | |
int | keep_premaster | |||
) |
Definition at line 48 of file gnutls_kx.c.
References generate_normal_master(), MHD_gtls_session_int::internals, RESUME_FALSE, and MHD_gtls_internals_st::resumed.
Referenced by MHD_gtls_connection_state_init(), MHD_gtls_tls_sign_hdata(), and MHD_gtls_verify_sig_hdata().
int MHD_gtls_recv_client_certificate | ( | MHD_gtls_session_t | session | ) |
Definition at line 548 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, MHD_gtls_key::certificate_requested, GNUTLS_A_SSL3_NO_CERTIFICATE, GNUTLS_CERT_REQUIRE, GNUTLS_E_FATAL_ALERT_RECEIVED, GNUTLS_E_NO_CERTIFICATE_FOUND, GNUTLS_E_WARNING_ALERT_RECEIVED, GNUTLS_HANDSHAKE_CERTIFICATE_PKT, MHD_gtls_session_int::internals, MHD_gtls_session_int::key, MANDATORY_PACKET, MHD__gnutls_protocol_get_version(), MHD_gnutls_alert_get(), MHD_gnutls_assert, MHD_gnutls_free, MHD_GNUTLS_PROTOCOL_SSL3, MHD_gtls_mod_auth_st_int::MHD_gtls_process_client_certificate, MHD_gtls_recv_handshake(), OPTIONAL_PACKET, and MHD_gtls_internals_st::send_cert_req.
Referenced by MHD_gtls_handshake_server().
int MHD_gtls_recv_client_certificate_verify_message | ( | MHD_gtls_session_t | session | ) |
Definition at line 683 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, MHD_gtls_key::certificate_requested, GNUTLS_CERT_REQUIRE, GNUTLS_E_NO_CERTIFICATE_FOUND, GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY, MHD_gtls_session_int::internals, MHD_gtls_session_int::key, MHD_gnutls_assert, MHD_gnutls_free, MHD_gtls_mod_auth_st_int::MHD_gtls_process_client_cert_vrfy, MHD_gtls_recv_handshake(), OPTIONAL_PACKET, and MHD_gtls_internals_st::send_cert_req.
Referenced by MHD_gtls_handshake_server().
int MHD_gtls_recv_client_kx_message | ( | MHD_gtls_session_t | session | ) |
Definition at line 401 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE, MHD_gtls_session_int::internals, MANDATORY_PACKET, MHD_gnutls_free, MHD_gtls_mod_auth_st_int::MHD_gtls_process_client_kx, and MHD_gtls_recv_handshake().
Referenced by MHD_gtls_handshake_server().
int MHD_gtls_recv_server_certificate | ( | MHD_gtls_session_t | session | ) |
Definition at line 643 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, GNUTLS_HANDSHAKE_CERTIFICATE_PKT, MHD_gtls_session_int::internals, MANDATORY_PACKET, MHD_gnutls_assert, MHD_gnutls_free, MHD_gtls_mod_auth_st_int::MHD_gtls_process_server_certificate, and MHD_gtls_recv_handshake().
int MHD_gtls_recv_server_certificate_request | ( | MHD_gtls_session_t | session | ) |
Definition at line 368 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST, MHD_gtls_session_int::internals, MHD_gnutls_free, MHD_gtls_recv_handshake(), and OPTIONAL_PACKET.
int MHD_gtls_recv_server_kx_message | ( | MHD_gtls_session_t | session | ) |
Definition at line 322 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE, MHD_gtls_session_int::internals, MANDATORY_PACKET, MHD__gnutls_peers_cert_less_512(), MHD_gnutls_assert, MHD_gnutls_free, MHD_gtls_mod_auth_st_int::MHD_gtls_process_server_kx, MHD_gtls_recv_handshake(), and MHD_gtls_session_is_export().
int MHD_gtls_send_client_certificate | ( | MHD_gtls_session_t | session, | |
int | again | |||
) |
Definition at line 437 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, MHD_gtls_key::certificate_requested, GNUTLS_A_SSL3_NO_CERTIFICATE, GNUTLS_AL_WARNING, GNUTLS_HANDSHAKE_CERTIFICATE_PKT, MHD_gtls_session_int::internals, MHD_gtls_session_int::key, MHD__gnutls_alert_send(), MHD__gnutls_protocol_get_version(), MHD_gnutls_assert, MHD_gnutls_free, MHD_GNUTLS_PROTOCOL_SSL3, MHD_gtls_mod_auth_st_int::MHD_gtls_gen_client_certificate, MHD_gtls_send_handshake(), and MHD_gtls_internals_st::selected_cert_list_length.
int MHD_gtls_send_client_certificate_verify | ( | MHD_gtls_session_t | session, | |
int | again | |||
) |
Definition at line 271 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, MHD_gtls_key::certificate_requested, MHD_gtls_security_param_st::entity, GNUTLS_HANDSHAKE_CERTIFICATE_VERIFY, GNUTLS_SERVER, MHD_gtls_session_int::internals, MHD_gtls_session_int::key, MHD_gnutls_assert, MHD_gnutls_free, MHD_gtls_mod_auth_st_int::MHD_gtls_gen_client_cert_vrfy, MHD_gtls_send_handshake(), and MHD_gtls_session_int::security_parameters.
int MHD_gtls_send_client_kx_message | ( | MHD_gtls_session_t | session, | |
int | again | |||
) |
Definition at line 228 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, GNUTLS_HANDSHAKE_CLIENT_KEY_EXCHANGE, MHD_gtls_session_int::internals, MHD_gnutls_assert, MHD_gnutls_free, MHD_gtls_mod_auth_st_int::MHD_gtls_gen_client_kx, and MHD_gtls_send_handshake().
int MHD_gtls_send_server_certificate | ( | MHD_gtls_session_t | session, | |
int | again | |||
) |
Definition at line 507 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, GNUTLS_HANDSHAKE_CERTIFICATE_PKT, MHD_gtls_session_int::internals, MHD_gnutls_assert, MHD_gnutls_free, MHD_gtls_mod_auth_st_int::MHD_gtls_gen_server_certificate, and MHD_gtls_send_handshake().
Referenced by MHD_gtls_handshake_server().
int MHD_gtls_send_server_certificate_request | ( | MHD_gtls_session_t | session, | |
int | again | |||
) |
Definition at line 181 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, GNUTLS_HANDSHAKE_CERTIFICATE_REQUEST, MHD_gtls_session_int::internals, MHD_gnutls_assert, MHD_gnutls_free, MHD_gtls_send_handshake(), and MHD_gtls_internals_st::send_cert_req.
Referenced by MHD_gtls_handshake_server().
int MHD_gtls_send_server_kx_message | ( | MHD_gtls_session_t | session, | |
int | again | |||
) |
Definition at line 133 of file gnutls_kx.c.
References MHD_gtls_internals_st::auth_struct, GNUTLS_E_INT_RET_0, GNUTLS_HANDSHAKE_SERVER_KEY_EXCHANGE, MHD_gtls_session_int::internals, MHD_gnutls_assert, MHD_gnutls_free, MHD_gtls_mod_auth_st_int::MHD_gtls_gen_server_kx, and MHD_gtls_send_handshake().
Referenced by MHD_gtls_handshake_server().