Library
Module
Module type
Parameter
Class
Class type
Effectful operations using Lwt for pure TLS.
The pure TLS is state and buffer in, state and buffer out. This module uses Lwt for communication over the network.
This module implements a high-level API and a low-level API (in Unix
). Most applications should use the high-level API described below.
type tracer = Sexplib.Sexp.t -> unit
tracing of TLS sessions
module Unix : sig ... end
Low-level API
type ic = Lwt_io.input_channel
type oc = Lwt_io.output_channel
val accept_ext :
?trace:tracer ->
Tls.Config.server ->
Lwt_unix.file_descr ->
((ic * oc) * Lwt_unix.sockaddr) Lwt.t
accept_ext ?trace server fd
is (ic, oc), sockaddr
, the input and output channel from an accepted connection on the given fd
, after upgrading to TLS using the server
configuration.
val accept :
?trace:tracer ->
Tls.Config.own_cert ->
Lwt_unix.file_descr ->
((ic * oc) * Lwt_unix.sockaddr) Lwt.t
accept ?trace own_cert fd
is (ic, oc), sockaddr
, the input and output channel from the accepted connection on fd
, using the default configuration with the given own_cert
.
connect_ext ?trace client (host, port)
is ic, oc
, the input and output channel of a TLS connection to host
on port
using the client
configuration.
val connect :
?trace:tracer ->
X509_lwt.authenticator ->
(string * int) ->
(ic * oc) Lwt.t
connect ?trace authenticator (host, port)
is ic, oc
, the input and output channel of a TLS connection to host
on port
using the default configuration and the authenticator
.