package shuttle_ssl

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type ssl_connection
val ssl_session_resused : ssl_connection -> bool
val pem_peer_certificate_chain : ssl_connection -> string option
val upgrade_server_connection : ?version:Async_ssl.Version.t -> ?options:Async_ssl.Opt.t list -> ?name:string -> ?allowed_ciphers:[ `Only of string list | `Openssl_default | `Secure ] -> ?ca_file:string -> ?ca_path:string -> ?verify_modes:Async_ssl.Verify_mode.t list -> crt_file:string -> key_file:string -> f: (ssl_connection -> Shuttle.Input_channel.t -> Shuttle.Output_channel.t -> unit Async.Deferred.t) -> Shuttle.Input_channel.t -> Shuttle.Output_channel.t -> unit Async.Deferred.t

upgrade_server_connection performs TLS negotiation and if it succeeds, applies f to the new encrypted channels. When the deferred returned by f resolves, the TLS connection is shutdown, and the channels are closed.

val upgrade_client_connection : ?version:Async_ssl.Version.t -> ?options:Async_ssl.Opt.t list -> ?name:string -> ?hostname:string -> ?allowed_ciphers:[ `Only of string list | `Openssl_default | `Secure ] -> ?ca_file:string -> ?ca_path:string -> ?crt_file:string -> ?key_file:string -> ?verify_modes:Async_ssl.Verify_mode.t list -> ?session:Async_ssl.Ssl.Session.t -> f: (ssl_connection -> Shuttle.Input_channel.t -> Shuttle.Output_channel.t -> unit Async.Deferred.t) -> Shuttle.Input_channel.t -> Shuttle.Output_channel.t -> unit Async.Deferred.t