tls

Transport Layer Security purely in OCaml
Library tls-lwt
Module Tls_lwt
exception Tls_alert of Tls.Packet.alert_type

Tls_alert exception received from the other endpoint

exception Tls_failure of Tls.Engine.failure

Tls_failure exception while processing incoming data

type tracer = Sexplib.Sexp.t -> unit

tracing of TLS sessions

module Unix : sig ... end

Low-level API

High-level API

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.

val connect_ext : ?trace:tracer -> Tls.Config.client -> (string * int) -> (ic * oc) Lwt.t

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.

val of_t : ?close:( unit -> unit Lwt.t ) -> Unix.t -> ic * oc

of_t t is ic, oc, the input and output channel. close defaults to !Unix.close.