Module Ffi.Ssl
val sexp_of_t : t -> Ppx_sexp_conv_lib.Sexp.t
val set_method : t -> Version.t -> unit
Sets a different crypto method for this particular ssl connection.
val set_initial_state : t -> [ `Connect | `Accept ] -> unit
Prepare 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.t
val accept : t -> (unit, Ssl_error.t) Core.Result.t
val set_bio : t -> input:Bio.t -> output:Bio.t -> unit
Set the binary IO buffers associated with an SSL connection.
val read : t -> buf:char Ctypes.ptr -> len:int -> (int, Ssl_error.t) Core.Result.t
Read from the SSL application side.
val write : t -> buf:string -> len:int -> (int, Ssl_error.t) Core.Result.t
Write to the SSL application side.
val use_certificate_file : t -> crt:string -> file_type:[ `PEM | `ASN1 ] -> (unit, string list) Core.Result.t Async.Deferred.t
Use 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.t
For servers, use a private key
key
for 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.t
val set_verify : t -> Verify_mode.t list -> unit
val get_peer_certificate : t -> X509.t option
val get_verify_result : t -> unit Core.Or_error.t
val get_version : t -> Version.t
val session_reused : t -> bool
val set_session : t -> Ssl_session.t -> unit Core.Or_error.t
val get1_session : t -> Ssl_session.t option
val set_tlsext_host_name : t -> string -> unit Core.Or_error.t