package tls
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Transport Layer Security purely in OCaml
Install
dune-project
Dependency
Authors
Maintainers
Sources
tls-0.15.4.tbz
sha256=5f8d1d56b06f6069efd1d0a3de0c45cb488d3d13eb7f132c84ec7ba3f0d1c382
sha512=333352cb90bd1a43763571373e61fea1c0ea31f81ef728069344bf807e5a1916d3e249260b37bae62128961f4f7cbfd3cb22b1541088aa241e4637aec7aa7876
doc/tls/Tls/Core/index.html
Module Tls.CoreSource
Core type definitions
Source
val compare_tls_version :
[< `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 ] ->
[< `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 ] ->
intSource
val next :
[< `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 ] ->
[> `TLS_1_1 | `TLS_1_2 | `TLS_1_3 ] optionSource
val all_versions :
(([< `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 TLS_1_1 TLS_1_2 TLS_1_3 ] as 'a)
* [< `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 ]) ->
'a listSource
val tls_version_of_pair :
(int * int) ->
[> `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 ] optionSource
val any_version_to_version :
[> tls_version ] ->
[> `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 ] optionSource
val version_ge :
[< `SSL_3 | `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 | `TLS_1_X of 'a ] ->
[< `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 ] ->
boolSource
val tls_any_version_of_pair :
(int * int) ->
[> `SSL_3 | `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 | `TLS_1_X of int ]
optionSource
val pair_of_tls_any_version :
[< `SSL_3 | `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 | `TLS_1_X of int ] ->
int * intSource
val named_group_to_group :
Packet.named_group ->
[> `FFDHE2048
| `FFDHE3072
| `FFDHE4096
| `FFDHE6144
| `FFDHE8192
| `P256
| `P384
| `P521
| `X25519 ]
optionSource
val group_to_named_group :
[< `FFDHE2048
| `FFDHE3072
| `FFDHE4096
| `FFDHE6144
| `FFDHE8192
| `P256
| `P384
| `P521
| `X25519 ] ->
Packet.named_groupSource
val group_to_impl :
[< `FFDHE2048
| `FFDHE3072
| `FFDHE4096
| `FFDHE6144
| `FFDHE8192
| `P256
| `P384
| `P521
| `X25519 ] ->
[> `Finite_field of Mirage_crypto_pk.Dh.group
| `P256
| `P384
| `P521
| `X25519 ]Source
type signature_algorithm = [ | `RSA_PKCS1_MD5| `RSA_PKCS1_SHA1| `RSA_PKCS1_SHA224| `RSA_PKCS1_SHA256| `RSA_PKCS1_SHA384| `RSA_PKCS1_SHA512| `ECDSA_SECP256R1_SHA1| `ECDSA_SECP256R1_SHA256| `ECDSA_SECP384R1_SHA384| `ECDSA_SECP521R1_SHA512| `RSA_PSS_RSAENC_SHA256| `RSA_PSS_RSAENC_SHA384| `RSA_PSS_RSAENC_SHA512| `ED25519
]Source
val hash_of_signature_algorithm :
[< `ECDSA_SECP256R1_SHA1
| `ECDSA_SECP256R1_SHA256
| `ECDSA_SECP384R1_SHA384
| `ECDSA_SECP521R1_SHA512
| `ED25519
| `RSA_PKCS1_MD5
| `RSA_PKCS1_SHA1
| `RSA_PKCS1_SHA224
| `RSA_PKCS1_SHA256
| `RSA_PKCS1_SHA384
| `RSA_PKCS1_SHA512
| `RSA_PSS_RSAENC_SHA256
| `RSA_PSS_RSAENC_SHA384
| `RSA_PSS_RSAENC_SHA512 ] ->
[> `MD5 | `SHA1 | `SHA224 | `SHA256 | `SHA384 | `SHA512 ]Source
val signature_scheme_of_signature_algorithm :
[< `ECDSA_SECP256R1_SHA1
| `ECDSA_SECP256R1_SHA256
| `ECDSA_SECP384R1_SHA384
| `ECDSA_SECP521R1_SHA512
| `ED25519
| `RSA_PKCS1_MD5
| `RSA_PKCS1_SHA1
| `RSA_PKCS1_SHA224
| `RSA_PKCS1_SHA256
| `RSA_PKCS1_SHA384
| `RSA_PKCS1_SHA512
| `RSA_PSS_RSAENC_SHA256
| `RSA_PSS_RSAENC_SHA384
| `RSA_PSS_RSAENC_SHA512 ] ->
[> `ECDSA | `ED25519 | `RSA_PKCS1 | `RSA_PSS ]Source
val rsa_sigalg :
[< `ECDSA_SECP256R1_SHA1
| `ECDSA_SECP256R1_SHA256
| `ECDSA_SECP384R1_SHA384
| `ECDSA_SECP521R1_SHA512
| `ED25519
| `RSA_PKCS1_MD5
| `RSA_PKCS1_SHA1
| `RSA_PKCS1_SHA224
| `RSA_PKCS1_SHA256
| `RSA_PKCS1_SHA384
| `RSA_PKCS1_SHA512
| `RSA_PSS_RSAENC_SHA256
| `RSA_PSS_RSAENC_SHA384
| `RSA_PSS_RSAENC_SHA512 ] ->
boolSource
val tls13_sigalg :
[< `ECDSA_SECP256R1_SHA1
| `ECDSA_SECP256R1_SHA256
| `ECDSA_SECP384R1_SHA384
| `ECDSA_SECP521R1_SHA512
| `ED25519
| `RSA_PKCS1_MD5
| `RSA_PKCS1_SHA1
| `RSA_PKCS1_SHA224
| `RSA_PKCS1_SHA256
| `RSA_PKCS1_SHA384
| `RSA_PKCS1_SHA512
| `RSA_PSS_RSAENC_SHA256
| `RSA_PSS_RSAENC_SHA384
| `RSA_PSS_RSAENC_SHA512 ] ->
boolSource
val pk_matches_sa :
[> `ED25519 of 'a | `P256 of 'b | `P384 of 'c | `P521 of 'd | `RSA of 'e ] ->
[< `ECDSA_SECP256R1_SHA1
| `ECDSA_SECP256R1_SHA256
| `ECDSA_SECP384R1_SHA384
| `ECDSA_SECP521R1_SHA512
| `ED25519
| `RSA_PKCS1_MD5
| `RSA_PKCS1_SHA1
| `RSA_PKCS1_SHA224
| `RSA_PKCS1_SHA256
| `RSA_PKCS1_SHA384
| `RSA_PKCS1_SHA512
| `RSA_PSS_RSAENC_SHA256
| `RSA_PSS_RSAENC_SHA384
| `RSA_PSS_RSAENC_SHA512 ECDSA_SECP256R1_SHA1 ECDSA_SECP256R1_SHA256 ECDSA_SECP384R1_SHA384 ECDSA_SECP521R1_SHA512 ED25519 ] ->
boolSource
type client_extension = [ | `Hostname of Peer_name.t| `MaxFragmentLength of Packet.max_fragment_length| `SupportedGroups of Packet.named_group list| `SecureRenegotiation of Cstruct_sexp.t| `Padding of int| `SignatureAlgorithms of signature_algorithm list| `ExtendedMasterSecret| `ALPN of string list| `EarlyDataIndication| `SupportedVersions of tls_any_version list| `PostHandshakeAuthentication| `Cookie of Cstruct_sexp.t| `PskKeyExchangeModes of Packet.psk_key_exchange_mode list| `ECPointFormats| `UnknownExtension of int * Cstruct_sexp.t
]Source
type server_extension = [ | server13_extension| `Hostname| `MaxFragmentLength of Packet.max_fragment_length| `SecureRenegotiation of Cstruct_sexp.t| `ExtendedMasterSecret| `ALPN of string| `ECPointFormats| `UnknownExtension of int * Cstruct_sexp.t
]Source
type encrypted_extension = [ | `Hostname| `MaxFragmentLength of Packet.max_fragment_length| `SupportedGroups of group list| `ALPN of string| `EarlyDataIndication| `UnknownExtension of int * Cstruct_sexp.t
]Source
type hello_retry_extension = [ | `SelectedGroup of group| `Cookie of Cstruct_sexp.t| `SelectedVersion of tls_version| `UnknownExtension of int * Cstruct_sexp.t
]Source
type client_hello = {client_version : tls_any_version;client_random : Cstruct_sexp.t;sessionid : SessionID.t option;ciphersuites : Packet.any_ciphersuite list;extensions : client_extension list;
}Source
type server_hello = {server_version : tls_version;server_random : Cstruct_sexp.t;sessionid : SessionID.t option;ciphersuite : Ciphersuite.ciphersuite;extensions : server_extension list;
}Source
type hello_retry = {retry_version : tls_version;ciphersuite : Ciphersuite.ciphersuite13;sessionid : SessionID.t option;selected_group : group;extensions : hello_retry_extension list;
}Source
type session_ticket_extension = [ | `EarlyDataIndication of int32| `UnknownExtension of int * Cstruct_sexp.t
]Source
type session_ticket = {lifetime : int32;age_add : int32;nonce : Cstruct_sexp.t;ticket : Cstruct_sexp.t;extensions : session_ticket_extension list;
}Source
type certificate_request_extension = [ | `SignatureAlgorithms of signature_algorithm list| `CertificateAuthorities of X509.Distinguished_name.t list| `UnknownExtension of int * Cstruct_sexp.t
]Source
type tls_handshake = | HelloRequest| HelloRetryRequest of hello_retry| EncryptedExtensions of encrypted_extension list| ServerHelloDone| ClientHello of client_hello| ServerHello of server_hello| Certificate of Cstruct_sexp.t| ServerKeyExchange of Cstruct_sexp.t| CertificateRequest of Cstruct_sexp.t| ClientKeyExchange of Cstruct_sexp.t| CertificateVerify of Cstruct_sexp.t| Finished of Cstruct_sexp.t| SessionTicket of session_ticket| KeyUpdate of Packet.key_update_request_type| EndOfEarlyData
the master secret of a TLS connection
Source
type psk13 = {identifier : Cstruct_sexp.t;obfuscation : int32;secret : Cstruct_sexp.t;lifetime : int32;early_data : int32;issued_at : Ptime.t;
}Source
type epoch_data = {state : epoch_state;protocol_version : tls_version;ciphersuite : Ciphersuite.ciphersuite;peer_random : Cstruct_sexp.t;peer_certificate_chain : Cert.t list;peer_certificate : Cert.t option;peer_name : Peer_name.t option;trust_anchor : Cert.t option;received_certificates : Cert.t list;own_random : Cstruct_sexp.t;own_certificate : Cert.t list;own_private_key : Priv.t option;own_name : Peer_name.t option;master_secret : master_secret;session_id : SessionID.t;extended_ms : bool;alpn_protocol : string option;
}information about an open session
Source
val supports_key_usage :
?not_present:bool ->
X509.Extension.key_usage ->
X509.Certificate.t ->
boolSource
val supports_extended_key_usage :
?not_present:bool ->
X509.Extension.extended_key_usage ->
X509.Certificate.t ->
bool sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>