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-2.0.3.tbz
sha256=d7159ba745f3da2e73844353f020fdbc767393882b47565f8b61b941c351c3d7
sha512=fc136c13bd4c8ff1e69250809c63495299d6e00a58252ed2dd76bd704f7b95f8baa45bde3c5f0f27152767f9986fa3ba183f28d68d336dbf25a25482bd8b44b7
doc/tls/Tls/Core/index.html
Module Tls.CoreSource
Core type definitions
Source
val pp_tls_version :
Format.formatter ->
[< `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 ] ->
unitSource
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 pp_tls_any_version :
Format.formatter ->
[< `SSL_3 | `TLS_1_0 | `TLS_1_1 | `TLS_1_2 | `TLS_1_3 | `TLS_1_X of int ] ->
unitSource
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 pp_group :
Format.formatter ->
[< `FFDHE2048
| `FFDHE3072
| `FFDHE4096
| `FFDHE6144
| `FFDHE8192
| `P256
| `P384
| `P521
| `X25519 ] ->
unitSource
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 pp_signature_algorithm :
Format.formatter ->
[< `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 ] ->
unitSource
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 [ `host ] Domain_name.t| `MaxFragmentLength of Packet.max_fragment_length| `SupportedGroups of Packet.named_group list| `SecureRenegotiation of string| `Padding of int| `SignatureAlgorithms of signature_algorithm list| `ExtendedMasterSecret| `ALPN of string list| `EarlyDataIndication| `SupportedVersions of tls_any_version list| `PostHandshakeAuthentication| `Cookie of string| `PskKeyExchangeModes of Packet.psk_key_exchange_mode list| `ECPointFormats| `UnknownExtension of int * string
]Source
type server_extension = [ | server13_extension| `Hostname| `MaxFragmentLength of Packet.max_fragment_length| `SecureRenegotiation of string| `ExtendedMasterSecret| `ALPN of string| `ECPointFormats| `UnknownExtension of int * string
]Source
type encrypted_extension = [ | `Hostname| `MaxFragmentLength of Packet.max_fragment_length| `SupportedGroups of group list| `ALPN of string| `EarlyDataIndication| `UnknownExtension of int * string
]Source
type hello_retry_extension = [ | `SelectedGroup of group| `Cookie of string| `SelectedVersion of tls_version| `UnknownExtension of int * string
]Source
type client_hello = {client_version : tls_any_version;client_random : string;sessionid : SessionID.t option;ciphersuites : Packet.any_ciphersuite list;extensions : client_extension list;
}Source
type server_hello = {server_version : tls_version;server_random : string;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 = {lifetime : int32;age_add : int32;nonce : string;ticket : string;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 * string
]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 string| ServerKeyExchange of string| CertificateRequest of string| ClientKeyExchange of string| CertificateVerify of string| Finished of string| SessionTicket of session_ticket| KeyUpdate of Packet.key_update_request_type| EndOfEarlyData
the master secret of a TLS connection
Source
type psk13 = {identifier : string;obfuscation : int32;secret : string;lifetime : int32;early_data : int32;issued_at : Ptime.t;
}Source
type epoch_data = {side : [ `Client | `Server ];state : epoch_state;protocol_version : tls_version;ciphersuite : Ciphersuite.ciphersuite;peer_random : string;peer_certificate_chain : X509.Certificate.t list;peer_certificate : X509.Certificate.t option;peer_name : [ `host ] Domain_name.t option;trust_anchor : X509.Certificate.t option;received_certificates : X509.Certificate.t list;own_random : string;own_certificate : X509.Certificate.t list;own_private_key : X509.Private_key.t option;own_name : [ `host ] Domain_name.t option;master_secret : master_secret;exporter_master_secret : master_secret;session_id : SessionID.t;extended_ms : bool;alpn_protocol : string option;tls_unique : 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)"
>