ssl_record

DATA TYPES

tls_atom_version() = sslv3 | tlsv1 | 'tlsv1.1' | 'tlsv1.2'
tls_version() = {integer(), integer()}

Functions


init_connection_states(Role::client | server) -> #connection_states{}

current_connection_state(Connection_states::#connection_states{}, X2::read | write) -> #connection_state{}

pending_connection_state(Connection_states::#connection_states{}, X2::read | write) -> #connection_state{}

update_security_params(Security_parameters::#security_parameters{}, Security_parameters::#security_parameters{}, Connection_states::#connection_states{}) -> #connection_states{}

set_mac_secret(ClientWriteMacSecret::binary(), ServerWriteMacSecret::binary(), X3::client | server, Connection_states::#connection_states{}) -> #connection_states{}

set_master_secret(MasterSecret::binary(), Connection_states::#connection_states{}) -> #connection_states{}

set_renegotiation_flag(Flag::boolean(), Connection_states::#connection_states{}) -> #connection_states{}

set_client_verify_data(X1::current_read | current_write | current_both, Data::binary(), Connection_states::#connection_states{}) -> #connection_states{}

set_server_verify_data(X1::current_read | current_write | current_both, Data::binary(), Connection_states::#connection_states{}) -> #connection_states{}

activate_pending_connection_state(Connection_states::#connection_states{}, X2::read | write) -> #connection_states{}

set_pending_cipher_state(Connection_states::#connection_states{}, Cipher_state::#cipher_state{}, Cipher_state::#cipher_state{}, X4::client | server) -> #connection_states{}

get_tls_records(Data::binary(), Buffer::binary()) -> {[binary()], binary()} | #alert{}

protocol_version(X1::tls_atom_version() | tls_version()) -> tls_version() | tls_atom_version()

lowest_protocol_version(Version::tls_version(), X2::tls_version()) -> tls_version()

highest_protocol_version(Versions::[tls_version()]) -> tls_version()

supported_protocol_versions() -> [tls_version()]

is_acceptable_version(X1::tls_version()) -> boolean()

compressions() -> [binary()]

decode_cipher_text(Ssl_tls::#ssl_tls{}, Connection_states::#connection_states{}) -> {#ssl_tls{}, #connection_states{}} | #alert{}

encode_data(Frag::binary(), Version::tls_version(), Connection_states::#connection_states{}) -> {iolist(), #connection_states{}}

encode_handshake(Frag::iolist(), Version::tls_version(), Connection_states::#connection_states{}) -> {iolist(), #connection_states{}}

encode_alert_record(Alert::#alert{}, Version::tls_version(), Connection_states::#connection_states{}) -> {iolist(), #connection_states{}}

encode_change_cipher_spec(Version::tls_version(), Connection_states::#connection_states{}) -> {iolist(), #connection_states{}}