erps v0.3.0 Erps.Transport.Tls View Source

implements a two-way TLS transport strategy.

this transport is useful when you have trusted clients and servers that are authenticated against each other and must have an encrypted channel over WAN.

Link to this section Summary

Functions

Callback implementation for Erps.Transport.Api.accept/2.

(server) a specialized function that generates a match function option used to verify that the incoming client is bound to a single ip address.

Callback implementation for Erps.Transport.Api.send/2, via :ssl.send/2.

(client) a specialized function that generates a match function option used to verify that the targetted server is bound to a single ip address.

Link to this section Functions

Callback implementation for Erps.Transport.Api.accept/2.

Link to this function

connect(host, port, opts) View Source

Callback implementation for Erps.Transport.Api.connect/3.

Link to this function

handshake(socket, tls_opts!) View Source
handshake(:inet.socket(), keyword()) ::
  {:ok, Erps.Transport.Api.socket()} | {:error, any()}

(server) a specialized function that generates a match function option used to verify that the incoming client is bound to a single ip address.

Callback implementation for Erps.Transport.Api.listen/2, via Erps.Transport.OneWayTls.listen/2.

Callback implementation for Erps.Transport.Api.send/2, via :ssl.send/2.

Link to this function

single_ip_check(ip) View Source
single_ip_check(:inet.ip_address()) :: [
  {:match_fun, ({:ip, :inet.ip_address()}, {:dNSName, charlist()} -> boolean())}
]

(client) a specialized function that generates a match function option used to verify that the targetted server is bound to a single ip address.

should be used as in as the :customize_hostname_check option for clients

Callback implementation for Erps.Transport.Api.upgrade!/2, via Erps.Transport.OneWayTls.upgrade!/2.