Microchip® Advanced Software Framework

_ssl_context Struct Reference

#include <ssl.h>

Data Fields

int authmode
 
x509_certca_chain
 
x509_crlca_crl
 
int * ciphers
 
int client_auth
 
unsigned long ctx_dec [128]
 
unsigned long ctx_enc [128]
 
dhm_context dhm_ctx
 
int do_crypt
 
int endpoint
 
void(* f_dbg )(void *, int, const char *)
 
int(* f_recv )(void *, unsigned char *, int)
 
int(* f_rng )(void *)
 
int(* f_send )(void *, unsigned char *, int)
 
md5_context fin_md5
 
sha1_context fin_sha1
 
unsigned char * hostname
 
unsigned long hostname_len
 
unsigned char * in_ctr
 
unsigned char * in_hdr
 
int in_hslen
 
int in_left
 
unsigned char * in_msg
 
int in_msglen
 
int in_msgtype
 
unsigned char * in_offt
 
unsigned char iv_dec [16]
 
unsigned char iv_enc [16]
 
int ivlen
 
int keylen
 
unsigned char mac_dec [32]
 
unsigned char mac_enc [32]
 
int maclen
 
int major_ver
 
int max_major_ver
 
int max_minor_ver
 
int minlen
 
int minor_ver
 
int nb_zero
 
unsigned char * out_ctr
 
unsigned char * out_hdr
 
int out_left
 
unsigned char * out_msg
 
int out_msglen
 
int out_msgtype
 
x509_certown_cert
 
void * p_dbg
 
void * p_recv
 
void * p_rng
 
void * p_send
 
x509_certpeer_cert
 
const char * peer_cn
 
int pmslen
 
unsigned char premaster [256]
 
unsigned char randbytes [64]
 
int resume
 
rsa_contextrsa_key
 
int(* s_get )(ssl_context *)
 
int(* s_set )(ssl_context *)
 
ssl_sessionsession
 
int state
 
int timeout
 
int verify_result
 

int _ssl_context::authmode

verification mode

x509_cert* _ssl_context::ca_chain

own trusted CA chain

x509_crl* _ssl_context::ca_crl

trusted CA CRLs

int* _ssl_context::ciphers

allowed ciphersuites

int _ssl_context::client_auth

flag for client auth.

unsigned long _ssl_context::ctx_dec[128]

decryption context

unsigned long _ssl_context::ctx_enc[128]

encryption context

dhm_context _ssl_context::dhm_ctx

DHM key exchange

int _ssl_context::do_crypt

en(de)cryption flag

int _ssl_context::endpoint

0: client, 1: server

void(* _ssl_context::f_dbg)(void *, int, const char *)
int(* _ssl_context::f_recv)(void *, unsigned char *, int)
int(* _ssl_context::f_rng)(void *)
int(* _ssl_context::f_send)(void *, unsigned char *, int)
md5_context _ssl_context::fin_md5

Finished MD5 checksum

sha1_context _ssl_context::fin_sha1

Finished SHA-1 checksum

unsigned char* _ssl_context::hostname
unsigned long _ssl_context::hostname_len
unsigned char* _ssl_context::in_ctr

64-bit incoming message counter

unsigned char* _ssl_context::in_hdr

5-byte record header (in_ctr+8)

int _ssl_context::in_hslen

current handshake message length

int _ssl_context::in_left

amount of data read so far

unsigned char* _ssl_context::in_msg

the message contents (in_hdr+5)

int _ssl_context::in_msglen

record header: message length

int _ssl_context::in_msgtype

record header: message type

unsigned char* _ssl_context::in_offt

read offset in application data

unsigned char _ssl_context::iv_dec[16]

IV (decryption)

unsigned char _ssl_context::iv_enc[16]

IV (encryption)

int _ssl_context::ivlen

IV length

int _ssl_context::keylen

symmetric key length

unsigned char _ssl_context::mac_dec[32]

MAC (decryption)

unsigned char _ssl_context::mac_enc[32]

MAC (encryption)

int _ssl_context::maclen

MAC length

int _ssl_context::major_ver

equal to SSL_MAJOR_VERSION_3

int _ssl_context::max_major_ver

max. major version from client

int _ssl_context::max_minor_ver

max. minor version from client

int _ssl_context::minlen

min. ciphertext length

int _ssl_context::minor_ver

either 0 (SSL3) or 1 (TLS1.0)

int _ssl_context::nb_zero

of 0-length encrypted messages

unsigned char* _ssl_context::out_ctr

64-bit outgoing message counter

unsigned char* _ssl_context::out_hdr

5-byte record header (out_ctr+8)

int _ssl_context::out_left

amount of data not yet written

unsigned char* _ssl_context::out_msg

the message contents (out_hdr+5)

int _ssl_context::out_msglen

record header: message length

int _ssl_context::out_msgtype

record header: message type

x509_cert* _ssl_context::own_cert

own X.509 certificate

void* _ssl_context::p_dbg

context for the debug function

void* _ssl_context::p_recv

context for reading operations

void* _ssl_context::p_rng

context for the RNG function

void* _ssl_context::p_send

context for writing operations

x509_cert* _ssl_context::peer_cert

peer X.509 cert chain

const char* _ssl_context::peer_cn

expected peer CN

int _ssl_context::pmslen

premaster length

unsigned char _ssl_context::premaster[256]

premaster secret

unsigned char _ssl_context::randbytes[64]

random bytes

int _ssl_context::resume

session resuming flag

rsa_context* _ssl_context::rsa_key

own RSA private key

int(* _ssl_context::s_get)(ssl_context *)

(server) get callback

int(* _ssl_context::s_set)(ssl_context *)

(server) set callback

ssl_session* _ssl_context::session

current session data

int _ssl_context::state

SSL handshake: current state

int _ssl_context::timeout

sess. expiration time

int _ssl_context::verify_result

verification result