include sig ... endval sexp_of_t : t ‑> Base.Sexp.tval 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 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 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.tval set_verify : t ‑> Verify_mode.t list ‑> unitval get_verify_result : t ‑> unit Core.Or_error.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.tSet the list of available ciphers for client or server connections.
This is really SSL_set_cipher_list t (String.concat ~sep:":" ("-ALL" :: ciphers)).
val set_cipher_list_exn : t ‑> string list ‑> unitval get_cipher_list : t ‑> string list