Module Ffi.Ssl
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val set_method : t -> Version.t -> unitSets a different crypto method for this particular ssl connection.
val set_initial_state : t -> [ `Connect | `Accept ] -> unitPrepare the ssl connection for an initial handshake - either as a server (
`Accept) or as a client (`Connect).
val connect : t -> (unit, Ssl_error.t) Core.Result.tval accept : t -> (unit, Ssl_error.t) Core.Result.tval set_bio : t -> input:Bio.t -> output:Bio.t -> unitSet the binary IO buffers associated with an SSL connection.
val read : t -> buf:char Ctypes.ptr -> len:int -> (int, Ssl_error.t) Core.Result.tRead from the SSL application side.
val write : t -> buf:string -> len:int -> (int, Ssl_error.t) Core.Result.tWrite to the SSL application side.
val use_certificate_file : t -> crt:string -> file_type:[ `PEM | `ASN1 ] -> (unit, string list) Core.Result.t Async.Deferred.tUse a certificate file, signed by a CA (or self-signed if you prefer) to validate you are who you say you are. The file will generally end in
.crt.The 'type' is the encoding of your certificate file. You should know this!
val use_private_key_file : t -> key:string -> file_type:[ `PEM | `ASN1 ] -> (unit, string list) Core.Result.t Async.Deferred.tFor servers, use a private key
keyfor securing communications.> openssl genrsa -out server.key 4096 # generates a key called server.key
The file will generally end in
.key.The 'type' is the encoding of your certificate file. You should know this!
val check_private_key : t -> unit Core.Or_error.tval set_verify : t -> Verify_mode.t list -> unitval get_peer_certificate : t -> X509.t optionval get_verify_result : t -> unit Core.Or_error.tval get_version : t -> Version.tval session_reused : t -> boolval set_session : t -> Ssl_session.t -> unit Core.Or_error.tval get1_session : t -> Ssl_session.t optionval set_tlsext_host_name : t -> string -> unit Core.Or_error.t