Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Magic numbers of the TLS protocol.
val get_uint24_len : Cstruct.t -> int
val set_uint24_len : Cstruct.t -> int -> unit
val content_type_to_int : content_type -> int
val int_to_content_type : int -> content_type option
val pp_content_type : Stdlib.Format.formatter -> content_type -> unit
val pp_alert_level : Stdlib.Format.formatter -> alert_level -> unit
val alert_level_to_int : alert_level -> int
val int_to_alert_level : int -> alert_level option
type alert_type =
| CLOSE_NOTIFY
| UNEXPECTED_MESSAGE
| BAD_RECORD_MAC
| DECRYPTION_FAILED
| RECORD_OVERFLOW
| DECOMPRESSION_FAILURE
| HANDSHAKE_FAILURE
| NO_CERTIFICATE_RESERVED
| BAD_CERTIFICATE
| UNSUPPORTED_CERTIFICATE
| CERTIFICATE_REVOKED
| CERTIFICATE_EXPIRED
| CERTIFICATE_UNKNOWN
| ILLEGAL_PARAMETER
| UNKNOWN_CA
| ACCESS_DENIED
| DECODE_ERROR
| DECRYPT_ERROR
| EXPORT_RESTRICTION_RESERVED
| PROTOCOL_VERSION
| INSUFFICIENT_SECURITY
| INTERNAL_ERROR
| INAPPROPRIATE_FALLBACK
| USER_CANCELED
| NO_RENEGOTIATION
| MISSING_EXTENSION
| UNSUPPORTED_EXTENSION
| CERTIFICATE_UNOBTAINABLE
| UNRECOGNIZED_NAME
| BAD_CERTIFICATE_STATUS_RESPONSE
| BAD_CERTIFICATE_HASH_VALUE
| UNKNOWN_PSK_IDENTITY
| CERTIFICATE_REQUIRED
| NO_APPLICATION_PROTOCOL
val alert_type_to_string : alert_type -> string
val alert_type_to_int : alert_type -> int
val int_to_alert_type : int -> alert_type option
val pp_alert : Stdlib.Format.formatter -> (alert_level * alert_type) -> unit
type handshake_type =
| HELLO_REQUEST
| CLIENT_HELLO
| SERVER_HELLO
| HELLO_VERIFY_REQUEST
| SESSION_TICKET
| END_OF_EARLY_DATA
| ENCRYPTED_EXTENSIONS
| CERTIFICATE
| SERVER_KEY_EXCHANGE
| CERTIFICATE_REQUEST
| SERVER_HELLO_DONE
| CERTIFICATE_VERIFY
| CLIENT_KEY_EXCHANGE
| FINISHED
| CERTIFICATE_URL
| CERTIFICATE_STATUS
| SUPPLEMENTAL_DATA
| KEY_UPDATE
| MESSAGE_HASH
val handshake_type_to_int : handshake_type -> int
val int_to_handshake_type : int -> handshake_type option
val client_certificate_type_to_int : client_certificate_type -> int
val int_to_client_certificate_type : int -> client_certificate_type option
val compression_method_to_int : compression_method -> int
val int_to_compression_method : int -> compression_method option
type extension_type =
| SERVER_NAME
| MAX_FRAGMENT_LENGTH
| CLIENT_CERTIFICATE_URL
| TRUSTED_CA_KEYS
| TRUNCATED_HMAC
| STATUS_REQUEST
| USER_MAPPING
| CLIENT_AUTHZ
| SERVER_AUTHZ
| CERT_TYPE
| SUPPORTED_GROUPS
| EC_POINT_FORMATS
| SRP
| SIGNATURE_ALGORITHMS
| USE_SRTP
| HEARTBEAT
| APPLICATION_LAYER_PROTOCOL_NEGOTIATION
| STATUS_REQUEST_V2
| SIGNED_CERTIFICATE_TIMESTAMP
| CLIENT_CERTIFICATE_TYPE
| SERVER_CERTIFICATE_TYPE
| PADDING
| ENCRYPT_THEN_MAC
| EXTENDED_MASTER_SECRET
| TOKEN_BINDING
| CACHED_INFO
| TLS_LTS
| COMPRESSED_CERTIFICATE
| RECORD_SIZE_LIMIT
| PWD_PROTECT
| PWD_CLEAR
| PASSWORD_SALT
| SESSION_TICKET
| PRE_SHARED_KEY
| EARLY_DATA
| SUPPORTED_VERSIONS
| COOKIE
| PSK_KEY_EXCHANGE_MODES
| CERTIFICATE_AUTHORITIES
| OID_FILTERS
| POST_HANDSHAKE_AUTH
| SIGNATURE_ALGORITHMS_CERT
| KEY_SHARE
| RENEGOTIATION_INFO
| DRAFT_SUPPORT
val extension_type_to_int : extension_type -> int
val int_to_extension_type : int -> extension_type option
val extension_type_to_string : extension_type -> string
val max_fragment_length_to_int : max_fragment_length -> int
val int_to_max_fragment_length : int -> max_fragment_length option
val psk_key_exchange_mode_to_int : psk_key_exchange_mode -> int
val int_to_psk_key_exchange_mode : int -> psk_key_exchange_mode option
type signature_alg =
| 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
| ED448
| RSA_PSS_PSS_SHA256
| RSA_PSS_PSS_SHA384
| RSA_PSS_PSS_SHA512
val signature_alg_to_int : signature_alg -> int
val int_to_signature_alg : int -> signature_alg option
val to_signature_alg :
[< `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 ] ->
signature_alg
val of_signature_alg :
signature_alg ->
[> `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 ]
option
val ec_curve_type_to_int : ec_curve_type -> int
val int_to_ec_curve_type : int -> ec_curve_type option
val named_group_to_int : named_group -> int
val int_to_named_group : int -> named_group option
type any_ciphersuite =
| TLS_RSA_WITH_3DES_EDE_CBC_SHA
| TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
| TLS_RSA_WITH_AES_128_CBC_SHA
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA
| TLS_RSA_WITH_AES_256_CBC_SHA
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA
| TLS_RSA_WITH_AES_128_CBC_SHA256
| TLS_RSA_WITH_AES_256_CBC_SHA256
| TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
| TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
| TLS_RSA_WITH_AES_128_GCM_SHA256
| TLS_RSA_WITH_AES_256_GCM_SHA384
| TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
| TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
| TLS_EMPTY_RENEGOTIATION_INFO_SCSV
| TLS_AES_128_GCM_SHA256
| TLS_AES_256_GCM_SHA384
| TLS_CHACHA20_POLY1305_SHA256
| TLS_AES_128_CCM_SHA256
| TLS_FALLBACK_SCSV
| TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
| TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
| TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
| TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
| TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
| TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
| TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
| TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
| TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
| TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
| TLS_RSA_WITH_AES_128_CCM
| TLS_RSA_WITH_AES_256_CCM
| TLS_DHE_RSA_WITH_AES_128_CCM
| TLS_DHE_RSA_WITH_AES_256_CCM
| TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
| TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
| TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
enum of all TLS ciphersuites
val any_ciphersuite_to_int : any_ciphersuite -> int
val int_to_any_ciphersuite : int -> any_ciphersuite option
val key_update_request_type_to_int : key_update_request_type -> int
val int_to_key_update_request_type : int -> key_update_request_type option
val helloretryrequest : Mirage_crypto.Hash.digest
val downgrade12 : Cstruct.t
val downgrade11 : Cstruct.t