dtls_handshake

Types


der_cert() = binary()

dtls_handshake() = #client_hello{}
                         | #hello_verify_request{}
                         | ssl_handshake:ssl_handshake()

secret_printout() = list()

Functions


client_hello(Host::host(), Port::port_number() (see module inet), Connection_states::#connection_states{}, Ssl_options::#ssl_options{protocol=undefined | tls | dtls, versions=undefined | [ssl_version() (see module ssl_record)], verify=undefined | verify_none | verify_peer, verify_fun=any(), partial_chain=undefined | function(), fail_if_no_peer_cert=undefined | boolean(), verify_client_once=undefined | boolean(), validate_extensions_fun=any(), depth=undefined | integer(), certfile=undefined | binary(), cert=undefined | der_encoded() (see module public_key) | secret_printout(), keyfile=undefined | binary(), key=undefined | {'RSAPrivateKey' | 'DSAPrivateKey' | 'ECPrivateKey' | 'PrivateKeyInfo', der_encoded() (see module public_key)} | secret_printout(), password=undefined | string() | secret_printout(), cacerts=undefined | [der_encoded() (see module public_key)] | secret_printout(), cacertfile=undefined | binary(), dh=undefined | der_encoded() (see module public_key) | secret_printout(), dhfile=undefined | binary() | secret_printout(), user_lookup_fun=any(), psk_identity=undefined | binary() | secret_printout(), srp_identity=any(), ciphers=any(), reuse_session=any(), reuse_sessions=undefined | boolean(), renegotiate_at=any(), secure_renegotiate=any(), client_renegotiation=any(), hibernate_after=undefined | boolean(), erl_dist=boolean(), alpn_advertised_protocols=[binary()] | undefined, alpn_preferred_protocols=[binary()] | undefined, next_protocols_advertised=[binary()] | undefined, next_protocol_selector=any(), log_alert=undefined | boolean(), server_name_indication=any(), sni_hosts=undefined | [{hostname() (see module inet), [tuple()]}], sni_fun=function() | undefined, honor_cipher_order=boolean(), padding_check=boolean(), fallback=boolean(), crl_check=undefined | boolean() | peer | best_effort, crl_cache=any()}, Cache::integer(), CacheCb::atom(), Renegotiation::boolean(), OwnCert::der_cert()) -> #client_hello{}

client_hello(Host::host(), Port::port_number() (see module inet), Cookie::term(), Connection_states::#connection_states{}, Ssl_options::#ssl_options{protocol=undefined | tls | dtls, versions=undefined | [ssl_version() (see module ssl_record)], verify=undefined | verify_none | verify_peer, verify_fun=any(), partial_chain=undefined | function(), fail_if_no_peer_cert=undefined | boolean(), verify_client_once=undefined | boolean(), validate_extensions_fun=any(), depth=undefined | integer(), certfile=undefined | binary(), cert=undefined | der_encoded() (see module public_key) | secret_printout(), keyfile=undefined | binary(), key=undefined | {'RSAPrivateKey' | 'DSAPrivateKey' | 'ECPrivateKey' | 'PrivateKeyInfo', der_encoded() (see module public_key)} | secret_printout(), password=undefined | string() | secret_printout(), cacerts=undefined | [der_encoded() (see module public_key)] | secret_printout(), cacertfile=undefined | binary(), dh=undefined | der_encoded() (see module public_key) | secret_printout(), dhfile=undefined | binary() | secret_printout(), user_lookup_fun=any(), psk_identity=undefined | binary() | secret_printout(), srp_identity=any(), ciphers=any(), reuse_session=any(), reuse_sessions=undefined | boolean(), renegotiate_at=any(), secure_renegotiate=any(), client_renegotiation=any(), hibernate_after=undefined | boolean(), erl_dist=boolean(), alpn_advertised_protocols=[binary()] | undefined, alpn_preferred_protocols=[binary()] | undefined, next_protocols_advertised=[binary()] | undefined, next_protocol_selector=any(), log_alert=undefined | boolean(), server_name_indication=any(), sni_hosts=undefined | [{hostname() (see module inet), [tuple()]}], sni_fun=function() | undefined, honor_cipher_order=boolean(), padding_check=boolean(), fallback=boolean(), crl_check=undefined | boolean() | peer | best_effort, crl_cache=any()}, Cache::integer(), CacheCb::atom(), Renegotiation::boolean(), OwnCert::der_cert()) -> #client_hello{}

hello(Server_hello, Ssl_options, ConnectionStates0, Renegotiation) -> term()

encode_handshake(Handshake, Version, MsgSeq) -> term()

get_dtls_handshake(Ssl_tls::#ssl_tls{}, HsState::#dtls_hs_state{} | binary()) -> {[dtls_handshake()], #dtls_hs_state{}} | {retransmit, #dtls_hs_state{}}