tls_connection

DATA TYPES

cipher() = null | rc4_128 | idea_cbc | des40_cbc | des_cbc | '3des_ede_cbc' | aes_128_cbc | aes_256_cbc
ciphers() = [erl_cipher_suite()] | string()
connect_option() = socket_connect_option() | ssl_option() | transport_option()
erl_cipher_suite() = {key_algo(), cipher(), hash()}
hash() = null | sha | md5 | sha224 | sha256 | sha384 | sha512
host() = ip_address() (see module inet) | hostname() (see module inet)
key_algo() = null | rsa | dhe_rsa | dhe_dss | ecdhe_ecdsa | ecdh_ecdsa | ecdh_rsa | srp_rsa | srp_dss | psk | dhe_psk | rsa_psk | dh_anon | ecdh_anon | srp_anon
listen_option() = socket_listen_option() | ssl_option() | transport_option()
path() = string()
prf_random() = client_random | server_random
reason() = term()
socket_connect_option() = connect_option() (see module gen_tcp)
socket_listen_option() = listen_option() (see module gen_tcp)
ssl_imp() = new | old
ssl_option() = {verify, verify_type()} | {verify_fun, {function(), InitialUserState::term()}} | {fail_if_no_peer_cert, boolean()} | {depth, integer()} | {cert, Der::binary()} | {certfile, path()} | {key, Der::binary()} | {keyfile, path()} | {password, string()} | {cacerts, [Der::binary()]} | {cacertfile, path()} | {dh, Der::binary()} | {dhfile, path()} | {user_lookup_fun, {function(), InitialUserState::term()}} | {psk_identity, string()} | {srp_identity, {string(), string()}} | {ciphers, ciphers()} | {ssl_imp, ssl_imp()} | {reuse_sessions, boolean()} | {reuse_session, function()} | {hibernate_after, integer() | undefined} | {next_protocols_advertised, [binary()]} | {client_preferred_next_protocols, binary(), client | server, [binary()]}
sslsocket() = #sslsocket{}
tls_atom_version() = sslv3 | tlsv1 | 'tlsv1.1' | 'tlsv1.2'
transport_option() = {cb_info, {CallbackModule::atom(), DataTag::atom(), ClosedTag::atom(), ErrTag::atom()}}
verify_type() = verify_none | verify_peer

Functions


start_fsm(Role, Host, Port, Socket, Opts, User, CbInfo, Timeout) -> term()

send_handshake(Handshake, State) -> term()

send_alert(Alert, State) -> term()

send_change_cipher(Msg, State) -> term()

start_link(Role::atom(), Host::host(), Port::port_number() (see module inet), Socket::port(), Options::list(), User::pid(), CbInfo::tuple()) -> {ok, pid()} | ignore | {error, reason()}

init(X1) -> term()

hello(Hello, State) -> term()

abbreviated(Msg, State) -> term()

certify(Msg, State) -> term()

cipher(Msg, State) -> term()

connection(Hello_request, State) -> term()

handle_event(Event, StateName, State) -> term()

handle_sync_event(Event, From, StateName, State) -> term()

handle_info(Msg, StateName, State) -> term()

terminate(Reason, StateName, State) -> term()

code_change(OldVsn, StateName, State, Extra) -> term()

next_state(Current, Next, Alert, State) -> term()

next_record(State) -> term()

next_record_if_active(State) -> term()

next_state_connection(StateName, State) -> term()

passive_receive(State0, StateName) -> term()

read_application_data(Data, State) -> term()

write_application_data(Data0, From, State) -> term()

renegotiate(State) -> term()

alert_user(Transport, Socket, X3, Opts, Pid, From, Alert, Role) -> term()

alert_user(Transport, Socket, From, Alert, Role) -> term()

handle_own_alert(Alert, Version, StateName, State) -> term()

handle_normal_shutdown(Alert, StateName, State) -> term()

handle_unexpected_message(Msg, Info, State) -> term()

handle_close_alert(Data, StateName, State0) -> term()

workaround_transport_delivery_problems(Socket, Transport) -> term()