Pure TLS 1.2 PRF and master secret derivation for the bounded ECDHE-GCM subset.
Summary
Functions
Derives the RFC 5246 master and record states for a full handshake without EMS.
Derives fresh record states from a master and this connection's randoms.
Functions
@spec derive(term(), binary(), binary(), binary(), binary()) :: {:ok, %{ master_secret: binary(), read_state: SSL.Protocol.TLS12Record.t(), write_state: SSL.Protocol.TLS12Record.t() }} | {:error, term()}
@spec derive_legacy(term(), binary(), binary(), binary()) :: {:ok, %{ master_secret: binary(), read_state: SSL.Protocol.TLS12Record.t(), write_state: SSL.Protocol.TLS12Record.t() }} | {:error, term()}
Derives the RFC 5246 master and record states for a full handshake without EMS.
The caller must prevent session reuse and application authentication exports from the resulting legacy master secret.
@spec resume(term(), binary(), binary(), binary()) :: {:ok, %{ master_secret: binary(), read_state: SSL.Protocol.TLS12Record.t(), write_state: SSL.Protocol.TLS12Record.t() }} | {:error, term()}
Derives fresh record states from a master and this connection's randoms.