val to_client_ext_type :
[< `ALPN of 'a| `Cookie of 'b| `Draft of 'c| `ECPointFormats| `EarlyDataIndication| `ExtendedMasterSecret| `Hostname of 'd| `KeyShare of 'e| `MaxFragmentLength of 'f| `Padding of 'g| `PostHandshakeAuthentication| `PreSharedKeys of 'h| `PskKeyExchangeModes of 'i| `SecureRenegotiation of 'j| `SignatureAlgorithms of 'k| `SupportedGroups of 'l| `SupportedVersions of 'm| `UnknownExtension of 'n ]->[> `ALPN
| `Cookie| `Draft| `ECPointFormats| `EarlyDataIndication| `ExtendedMasterSecret| `Hostname| `KeyShare| `MaxFragmentLength| `Padding| `PostHandshakeAuthentication| `PreSharedKey| `PskKeyExchangeMode| `SecureRenegotiation| `SignatureAlgorithms| `SupportedGroups| `SupportedVersion| `UnknownExtension ]
val to_server_ext_type :
[< `ALPN of 'a| `Draft of 'b| `ECPointFormats| `EarlyDataIndication| `ExtendedMasterSecret| `Hostname| `KeyShare of 'c| `MaxFragmentLength of 'd| `PreSharedKey of 'e| `SecureRenegotiation of 'f| `SelectedVersion of 'g| `UnknownExtension of 'h ]->[> `ALPN
| `Draft| `ECPointFormats| `EarlyDataIndication| `ExtendedMasterSecret| `Hostname| `KeyShare| `MaxFragmentLength| `PreSharedKey| `SecureRenegotiation| `SupportedVersion| `UnknownExtension ]
val extension_types :
('a->[> `UnknownExtension ]as 'b)->'a list->'c list
val server_exts_subset_of_client :
[< `ALPN of 'a| `Draft of 'b| `ECPointFormats| `EarlyDataIndication| `ExtendedMasterSecret| `Hostname| `KeyShare of 'c| `MaxFragmentLength of 'd| `PreSharedKey of 'e| `SecureRenegotiation of 'f| `SelectedVersion of 'g| `UnknownExtension of 'h ]
list->[< `ALPN of 'i| `Cookie of 'j| `Draft of 'k| `ECPointFormats| `EarlyDataIndication| `ExtendedMasterSecret| `Hostname of 'l| `KeyShare of 'm| `MaxFragmentLength of 'n| `Padding of 'o| `PostHandshakeAuthentication| `PreSharedKeys of 'p| `PskKeyExchangeModes of 'q| `SecureRenegotiation of 'r| `SignatureAlgorithms of 's| `SupportedGroups of 't| `SupportedVersions of 'u| `UnknownExtension of 'v ]
list->
bool
val client_hello_valid :
[< `SSL_3 | `TLS_1_0| `TLS_1_1| `TLS_1_2| `TLS_1_3| `TLS_1_X of 'a ]->Core.client_hello->(unit,
[> `Fatal of
[> `Handshake of [> `Message of string ]| `Missing_extension of string ] ])Stdlib.result
val signature :
[< `TLS_1_0 | `TLS_1_1| `TLS_1_2| `TLS_1_3 ]->?context_string:string ->Stdlib.String.t ->Core.signature_algorithm list option->Core.signature_algorithm list->X509.Private_key.t ->(string,
[> `Error of
[> `NoConfiguredSignatureAlgorithm of Core.signature_algorithm list ]| `Fatal of
[> `Bad_certificate of string| `Handshake of [> `Message of string ] ] ])Stdlib.result
val peer_key :
X509.Certificate.t option->(X509.Public_key.t, [> `Fatal of [> `Bad_certificate of string ] ])Stdlib.result
val verify_digitally_signed :
[< `TLS_1_0 | `TLS_1_1| `TLS_1_2| `TLS_1_3 ]->?context_string:string ->Core.signature_algorithm list->string ->Stdlib.String.t ->X509.Certificate.t option->(unit,
[> `Error of
[> `NoConfiguredSignatureAlgorithm of Core.signature_algorithm list ]| `Fatal of
[> `Bad_certificate of string| `Decode of string| `Handshake of [> `Message of string ] ] ])Stdlib.result
val validate_chain :
(?ip:'a->host:'b->X509.Certificate.t list->(('c list * 'd) option, 'e)Stdlib.result)
option->string list->'a option->'f->(X509.Certificate.t option * X509.Certificate.t list * 'c list * 'g option,
[> `Error of [> `AuthenticationFailure of 'e ]| `Fatal of [> `Bad_certificate of string ] ])Stdlib.result
val output_key_update :
request:bool ->State.state->(State.state * (Packet.content_type * string),
[> `Fatal of [> `Handshake of [> `Message of string ] ] ])Stdlib.result