Xirsys.Sockets.Transport.TLS (xturn_sockets v2.2.0)

View Source

TLS stream transport (:ssl).

Defaults to TLS 1.2/1.3 and AEAD cipher suites. Legacy versions (:tlsv1, :"tlsv1.1", :sslv3) are stripped from :versions. Certificates come from listen/3 opts (certfile, keyfile, cacertfile), then Config.get(:certs), then legacy :certs / :xturn application env.

Summary

Functions

Maps :ssl / :ssl_closed / :ssl_error / :ssl_passive messages.

Normalized listen/security options: TLS 1.2/1.3 and AEAD-only ciphers.

Functions

handle_message(arg1, socket)

Maps :ssl / :ssl_closed / :ssl_error / :ssl_passive messages.

iex> Xirsys.Sockets.Transport.TLS.handle_message({:ssl, :port, "hi"}, :sock)
{:data, "hi", nil}
iex> Xirsys.Sockets.Transport.TLS.handle_message({:ssl_closed, :port}, :sock)
{:closed, :normal}
iex> Xirsys.Sockets.Transport.TLS.framing()
:stream

security_opts()

@spec security_opts() :: keyword()

Normalized listen/security options: TLS 1.2/1.3 and AEAD-only ciphers.

iex> opts = Xirsys.Sockets.Transport.TLS.security_opts()
iex> :"tlsv1.2" in Keyword.get(opts, :versions)
true
iex> :"tlsv1.3" in Keyword.get(opts, :versions)
true
iex> :tlsv1 in Keyword.get(opts, :versions)
false