package tls

  1. Overview
  2. Docs

Magic numbers of the TLS protocol.

val get_uint24_len : Cstruct.t -> int
val set_uint24_len : Cstruct.t -> int -> unit
type content_type =
  1. | CHANGE_CIPHER_SPEC
  2. | ALERT
  3. | HANDSHAKE
  4. | APPLICATION_DATA
  5. | HEARTBEAT
val int_to_content_type : int -> content_type option
val content_type_to_int : content_type -> int
val compare_content_type : content_type -> content_type -> int
val content_type_to_string : content_type -> string
val string_to_content_type : string -> content_type option
val sexp_of_content_type : content_type -> Sexplib.Sexp.t
val content_type_of_sexp : Sexplib.Sexp.t -> content_type
type alert_level =
  1. | WARNING
  2. | FATAL
val int_to_alert_level : int -> alert_level option
val alert_level_to_int : alert_level -> int
val compare_alert_level : alert_level -> alert_level -> int
val alert_level_to_string : alert_level -> string
val string_to_alert_level : string -> alert_level option
val sexp_of_alert_level : alert_level -> Sexplib.Sexp.t
val alert_level_of_sexp : Sexplib.Sexp.t -> alert_level
type alert_type =
  1. | CLOSE_NOTIFY
  2. | UNEXPECTED_MESSAGE
  3. | BAD_RECORD_MAC
  4. | DECRYPTION_FAILED
  5. | RECORD_OVERFLOW
  6. | DECOMPRESSION_FAILURE
  7. | HANDSHAKE_FAILURE
  8. | NO_CERTIFICATE_RESERVED
  9. | BAD_CERTIFICATE
  10. | UNSUPPORTED_CERTIFICATE
  11. | CERTIFICATE_REVOKED
  12. | CERTIFICATE_EXPIRED
  13. | CERTIFICATE_UNKNOWN
  14. | ILLEGAL_PARAMETER
  15. | UNKNOWN_CA
  16. | ACCESS_DENIED
  17. | DECODE_ERROR
  18. | DECRYPT_ERROR
  19. | EXPORT_RESTRICTION_RESERVED
  20. | PROTOCOL_VERSION
  21. | INSUFFICIENT_SECURITY
  22. | INTERNAL_ERROR
  23. | INAPPROPRIATE_FALLBACK
  24. | USER_CANCELED
  25. | NO_RENEGOTIATION
  26. | MISSING_EXTENSION
  27. | UNSUPPORTED_EXTENSION
  28. | CERTIFICATE_UNOBTAINABLE
  29. | UNRECOGNIZED_NAME
  30. | BAD_CERTIFICATE_STATUS_RESPONSE
  31. | BAD_CERTIFICATE_HASH_VALUE
  32. | UNKNOWN_PSK_IDENTITY
  33. | CERTIFICATE_REQUIRED
  34. | NO_APPLICATION_PROTOCOL
val int_to_alert_type : int -> alert_type option
val alert_type_to_int : alert_type -> int
val compare_alert_type : alert_type -> alert_type -> int
val alert_type_to_string : alert_type -> string
val string_to_alert_type : string -> alert_type option
val sexp_of_alert_type : alert_type -> Sexplib.Sexp.t
val alert_type_of_sexp : Sexplib.Sexp.t -> alert_type
type handshake_type =
  1. | HELLO_REQUEST
  2. | CLIENT_HELLO
  3. | SERVER_HELLO
  4. | HELLO_VERIFY_REQUEST
  5. | SESSION_TICKET
  6. | END_OF_EARLY_DATA
  7. | ENCRYPTED_EXTENSIONS
  8. | CERTIFICATE
  9. | SERVER_KEY_EXCHANGE
  10. | CERTIFICATE_REQUEST
  11. | SERVER_HELLO_DONE
  12. | CERTIFICATE_VERIFY
  13. | CLIENT_KEY_EXCHANGE
  14. | FINISHED
  15. | CERTIFICATE_URL
  16. | CERTIFICATE_STATUS
  17. | SUPPLEMENTAL_DATA
  18. | KEY_UPDATE
  19. | MESSAGE_HASH
val int_to_handshake_type : int -> handshake_type option
val handshake_type_to_int : handshake_type -> int
val compare_handshake_type : handshake_type -> handshake_type -> int
val handshake_type_to_string : handshake_type -> string
val string_to_handshake_type : string -> handshake_type option
val sexp_of_handshake_type : handshake_type -> Sexplib.Sexp.t
val handshake_type_of_sexp : Sexplib.Sexp.t -> handshake_type
type client_certificate_type =
  1. | RSA_SIGN
  2. | DSS_SIGN
  3. | RSA_FIXED_DH
  4. | DSS_FIXED_DH
  5. | RSA_EPHEMERAL_DH_RESERVED
  6. | DSS_EPHEMERAL_DH_RESERVED
  7. | FORTEZZA_DMS_RESERVED
  8. | ECDSA_SIGN
  9. | RSA_FIXED_ECDH
  10. | ECDSA_FIXED_ECDH
val int_to_client_certificate_type : int -> client_certificate_type option
val client_certificate_type_to_int : client_certificate_type -> int
val compare_client_certificate_type : client_certificate_type -> client_certificate_type -> int
val client_certificate_type_to_string : client_certificate_type -> string
val string_to_client_certificate_type : string -> client_certificate_type option
val sexp_of_client_certificate_type : client_certificate_type -> Sexplib.Sexp.t
val client_certificate_type_of_sexp : Sexplib.Sexp.t -> client_certificate_type
type compression_method =
  1. | NULL
  2. | DEFLATE
  3. | LZS
val int_to_compression_method : int -> compression_method option
val compression_method_to_int : compression_method -> int
val compare_compression_method : compression_method -> compression_method -> int
val compression_method_to_string : compression_method -> string
val string_to_compression_method : string -> compression_method option
val sexp_of_compression_method : compression_method -> Sexplib.Sexp.t
val compression_method_of_sexp : Sexplib.Sexp.t -> compression_method
type extension_type =
  1. | SERVER_NAME
  2. | MAX_FRAGMENT_LENGTH
  3. | CLIENT_CERTIFICATE_URL
  4. | TRUSTED_CA_KEYS
  5. | TRUNCATED_HMAC
  6. | STATUS_REQUEST
  7. | USER_MAPPING
  8. | CLIENT_AUTHZ
  9. | SERVER_AUTHZ
  10. | CERT_TYPE
  11. | SUPPORTED_GROUPS
  12. | EC_POINT_FORMATS
  13. | SRP
  14. | SIGNATURE_ALGORITHMS
  15. | USE_SRTP
  16. | HEARTBEAT
  17. | APPLICATION_LAYER_PROTOCOL_NEGOTIATION
  18. | STATUS_REQUEST_V2
  19. | SIGNED_CERTIFICATE_TIMESTAMP
  20. | CLIENT_CERTIFICATE_TYPE
  21. | SERVER_CERTIFICATE_TYPE
  22. | PADDING
  23. | ENCRYPT_THEN_MAC
  24. | EXTENDED_MASTER_SECRET
  25. | TOKEN_BINDING
  26. | CACHED_INFO
  27. | TLS_LTS
  28. | COMPRESSED_CERTIFICATE
  29. | RECORD_SIZE_LIMIT
  30. | PWD_PROTECT
  31. | PWD_CLEAR
  32. | PASSWORD_SALT
  33. | SESSION_TICKET
  34. | PRE_SHARED_KEY
  35. | EARLY_DATA
  36. | SUPPORTED_VERSIONS
  37. | COOKIE
  38. | PSK_KEY_EXCHANGE_MODES
  39. | CERTIFICATE_AUTHORITIES
  40. | OID_FILTERS
  41. | POST_HANDSHAKE_AUTH
  42. | SIGNATURE_ALGORITHMS_CERT
  43. | KEY_SHARE
  44. | RENEGOTIATION_INFO
  45. | DRAFT_SUPPORT
val int_to_extension_type : int -> extension_type option
val extension_type_to_int : extension_type -> int
val compare_extension_type : extension_type -> extension_type -> int
val extension_type_to_string : extension_type -> string
val string_to_extension_type : string -> extension_type option
val sexp_of_extension_type : extension_type -> Sexplib.Sexp.t
val extension_type_of_sexp : Sexplib.Sexp.t -> extension_type
type max_fragment_length =
  1. | TWO_9
  2. | TWO_10
  3. | TWO_11
  4. | TWO_12
val int_to_max_fragment_length : int -> max_fragment_length option
val max_fragment_length_to_int : max_fragment_length -> int
val compare_max_fragment_length : max_fragment_length -> max_fragment_length -> int
val max_fragment_length_to_string : max_fragment_length -> string
val string_to_max_fragment_length : string -> max_fragment_length option
val sexp_of_max_fragment_length : max_fragment_length -> Sexplib.Sexp.t
val max_fragment_length_of_sexp : Sexplib.Sexp.t -> max_fragment_length
type psk_key_exchange_mode =
  1. | PSK_KE
  2. | PSK_KE_DHE
val int_to_psk_key_exchange_mode : int -> psk_key_exchange_mode option
val psk_key_exchange_mode_to_int : psk_key_exchange_mode -> int
val compare_psk_key_exchange_mode : psk_key_exchange_mode -> psk_key_exchange_mode -> int
val psk_key_exchange_mode_to_string : psk_key_exchange_mode -> string
val string_to_psk_key_exchange_mode : string -> psk_key_exchange_mode option
val sexp_of_psk_key_exchange_mode : psk_key_exchange_mode -> Sexplib.Sexp.t
val psk_key_exchange_mode_of_sexp : Sexplib.Sexp.t -> psk_key_exchange_mode
type signature_alg =
  1. | RSA_PKCS1_MD5
  2. | RSA_PKCS1_SHA1
  3. | RSA_PKCS1_SHA224
  4. | RSA_PKCS1_SHA256
  5. | RSA_PKCS1_SHA384
  6. | RSA_PKCS1_SHA512
  7. | ECDSA_SECP256R1_SHA1
  8. | ECDSA_SECP256R1_SHA256
  9. | ECDSA_SECP256R1_SHA384
  10. | ECDSA_SECP256R1_SHA512
  11. | RSA_PSS_RSAENC_SHA256
  12. | RSA_PSS_RSAENC_SHA384
  13. | RSA_PSS_RSAENC_SHA512
  14. | ED25519
  15. | ED448
  16. | RSA_PSS_PSS_SHA256
  17. | RSA_PSS_PSS_SHA384
  18. | RSA_PSS_PSS_SHA512
val int_to_signature_alg : int -> signature_alg option
val signature_alg_to_int : signature_alg -> int
val compare_signature_alg : signature_alg -> signature_alg -> int
val signature_alg_to_string : signature_alg -> string
val string_to_signature_alg : string -> signature_alg option
val sexp_of_signature_alg : signature_alg -> Sexplib.Sexp.t
val signature_alg_of_sexp : Sexplib.Sexp.t -> signature_alg
val to_signature_alg : [< `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 -> [> `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
type ec_curve_type =
  1. | EXPLICIT_PRIME
  2. | EXPLICIT_CHAR2
  3. | NAMED_CURVE
val int_to_ec_curve_type : int -> ec_curve_type option
val ec_curve_type_to_int : ec_curve_type -> int
val compare_ec_curve_type : ec_curve_type -> ec_curve_type -> int
val ec_curve_type_to_string : ec_curve_type -> string
val string_to_ec_curve_type : string -> ec_curve_type option
val sexp_of_ec_curve_type : ec_curve_type -> Sexplib.Sexp.t
val ec_curve_type_of_sexp : Sexplib.Sexp.t -> ec_curve_type
type named_group =
  1. | SECP256R1
  2. | SECP384R1
  3. | SECP521R1
  4. | X25519
  5. | X448
  6. | FFDHE2048
  7. | FFDHE3072
  8. | FFDHE4096
  9. | FFDHE6144
  10. | FFDHE8192
val int_to_named_group : int -> named_group option
val named_group_to_int : named_group -> int
val compare_named_group : named_group -> named_group -> int
val named_group_to_string : named_group -> string
val string_to_named_group : string -> named_group option
val sexp_of_named_group : named_group -> Sexplib.Sexp.t
val named_group_of_sexp : Sexplib.Sexp.t -> named_group
type ec_point_format =
  1. | UNCOMPRESSED
  2. | ANSIX962_COMPRESSED_PRIME
  3. | ANSIX962_COMPRESSED_CHAR2
val int_to_ec_point_format : int -> ec_point_format option
val ec_point_format_to_int : ec_point_format -> int
val compare_ec_point_format : ec_point_format -> ec_point_format -> int
val ec_point_format_to_string : ec_point_format -> string
val string_to_ec_point_format : string -> ec_point_format option
val sexp_of_ec_point_format : ec_point_format -> Sexplib.Sexp.t
val ec_point_format_of_sexp : Sexplib.Sexp.t -> ec_point_format
type ec_basis_type =
  1. | TRINOMIAL
  2. | PENTANOMIAL
val int_to_ec_basis_type : int -> ec_basis_type option
val ec_basis_type_to_int : ec_basis_type -> int
val compare_ec_basis_type : ec_basis_type -> ec_basis_type -> int
val ec_basis_type_to_string : ec_basis_type -> string
val string_to_ec_basis_type : string -> ec_basis_type option
val sexp_of_ec_basis_type : ec_basis_type -> Sexplib.Sexp.t
val ec_basis_type_of_sexp : Sexplib.Sexp.t -> ec_basis_type
type any_ciphersuite =
  1. | TLS_NULL_WITH_NULL_NULL
  2. | TLS_RSA_WITH_NULL_MD5
  3. | TLS_RSA_WITH_NULL_SHA
  4. | TLS_RSA_EXPORT_WITH_RC4_40_MD5
  5. | TLS_RSA_WITH_RC4_128_MD5
  6. | TLS_RSA_WITH_RC4_128_SHA
  7. | TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5
  8. | TLS_RSA_WITH_IDEA_CBC_SHA
  9. | TLS_RSA_EXPORT_WITH_DES40_CBC_SHA
  10. | TLS_RSA_WITH_DES_CBC_SHA
  11. | TLS_RSA_WITH_3DES_EDE_CBC_SHA
  12. | TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA
  13. | TLS_DH_DSS_WITH_DES_CBC_SHA
  14. | TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA
  15. | TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA
  16. | TLS_DH_RSA_WITH_DES_CBC_SHA
  17. | TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA
  18. | TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA
  19. | TLS_DHE_DSS_WITH_DES_CBC_SHA
  20. | TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
  21. | TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA
  22. | TLS_DHE_RSA_WITH_DES_CBC_SHA
  23. | TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
  24. | TLS_DH_anon_EXPORT_WITH_RC4_40_MD5
  25. | TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA
  26. | TLS_DH_anon_WITH_RC4_128_MD5
  27. | TLS_DH_anon_WITH_DES_CBC_SHA
  28. | TLS_DH_anon_WITH_3DES_EDE_CBC_SHA
  29. | RESERVED_SSL3_1
  30. | RESERVED_SSL3_2
  31. | TLS_KRB5_WITH_DES_CBC_SHA
  32. | TLS_KRB5_WITH_3DES_EDE_CBC_SHA
  33. | TLS_KRB5_WITH_RC4_128_SHA
  34. | TLS_KRB5_WITH_IDEA_CBC_SHA
  35. | TLS_KRB5_WITH_DES_CBC_MD5
  36. | TLS_KRB5_WITH_3DES_EDE_CBC_MD5
  37. | TLS_KRB5_WITH_RC4_128_MD5
  38. | TLS_KRB5_WITH_IDEA_CBC_MD5
  39. | TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA
  40. | TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA
  41. | TLS_KRB5_EXPORT_WITH_RC4_40_SHA
  42. | TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5
  43. | TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5
  44. | TLS_KRB5_EXPORT_WITH_RC4_40_MD5
  45. | TLS_PSK_WITH_NULL_SHA
  46. | TLS_DHE_PSK_WITH_NULL_SHA
  47. | TLS_RSA_PSK_WITH_NULL_SHA
  48. | TLS_RSA_WITH_AES_128_CBC_SHA
  49. | TLS_DH_DSS_WITH_AES_128_CBC_SHA
  50. | TLS_DH_RSA_WITH_AES_128_CBC_SHA
  51. | TLS_DHE_DSS_WITH_AES_128_CBC_SHA
  52. | TLS_DHE_RSA_WITH_AES_128_CBC_SHA
  53. | TLS_DH_anon_WITH_AES_128_CBC_SHA
  54. | TLS_RSA_WITH_AES_256_CBC_SHA
  55. | TLS_DH_DSS_WITH_AES_256_CBC_SHA
  56. | TLS_DH_RSA_WITH_AES_256_CBC_SHA
  57. | TLS_DHE_DSS_WITH_AES_256_CBC_SHA
  58. | TLS_DHE_RSA_WITH_AES_256_CBC_SHA
  59. | TLS_DH_anon_WITH_AES_256_CBC_SHA
  60. | TLS_RSA_WITH_NULL_SHA256
  61. | TLS_RSA_WITH_AES_128_CBC_SHA256
  62. | TLS_RSA_WITH_AES_256_CBC_SHA256
  63. | TLS_DH_DSS_WITH_AES_128_CBC_SHA256
  64. | TLS_DH_RSA_WITH_AES_128_CBC_SHA256
  65. | TLS_DHE_DSS_WITH_AES_128_CBC_SHA256
  66. | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA
  67. | TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA
  68. | TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA
  69. | TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA
  70. | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA
  71. | TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA
  72. | TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
  73. | TLS_DH_DSS_WITH_AES_256_CBC_SHA256
  74. | TLS_DH_RSA_WITH_AES_256_CBC_SHA256
  75. | TLS_DHE_DSS_WITH_AES_256_CBC_SHA256
  76. | TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
  77. | TLS_DH_anon_WITH_AES_128_CBC_SHA256
  78. | TLS_DH_anon_WITH_AES_256_CBC_SHA256
  79. | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA
  80. | TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA
  81. | TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA
  82. | TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA
  83. | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA
  84. | TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA
  85. | TLS_PSK_WITH_RC4_128_SHA
  86. | TLS_PSK_WITH_3DES_EDE_CBC_SHA
  87. | TLS_PSK_WITH_AES_128_CBC_SHA
  88. | TLS_PSK_WITH_AES_256_CBC_SHA
  89. | TLS_DHE_PSK_WITH_RC4_128_SHA
  90. | TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA
  91. | TLS_DHE_PSK_WITH_AES_128_CBC_SHA
  92. | TLS_DHE_PSK_WITH_AES_256_CBC_SHA
  93. | TLS_RSA_PSK_WITH_RC4_128_SHA
  94. | TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA
  95. | TLS_RSA_PSK_WITH_AES_128_CBC_SHA
  96. | TLS_RSA_PSK_WITH_AES_256_CBC_SHA
  97. | TLS_RSA_WITH_SEED_CBC_SHA
  98. | TLS_DH_DSS_WITH_SEED_CBC_SHA
  99. | TLS_DH_RSA_WITH_SEED_CBC_SHA
  100. | TLS_DHE_DSS_WITH_SEED_CBC_SHA
  101. | TLS_DHE_RSA_WITH_SEED_CBC_SHA
  102. | TLS_DH_anon_WITH_SEED_CBC_SHA
  103. | TLS_RSA_WITH_AES_128_GCM_SHA256
  104. | TLS_RSA_WITH_AES_256_GCM_SHA384
  105. | TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
  106. | TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
  107. | TLS_DH_RSA_WITH_AES_128_GCM_SHA256
  108. | TLS_DH_RSA_WITH_AES_256_GCM_SHA384
  109. | TLS_DHE_DSS_WITH_AES_128_GCM_SHA256
  110. | TLS_DHE_DSS_WITH_AES_256_GCM_SHA384
  111. | TLS_DH_DSS_WITH_AES_128_GCM_SHA256
  112. | TLS_DH_DSS_WITH_AES_256_GCM_SHA384
  113. | TLS_DH_anon_WITH_AES_128_GCM_SHA256
  114. | TLS_DH_anon_WITH_AES_256_GCM_SHA384
  115. | TLS_PSK_WITH_AES_128_GCM_SHA256
  116. | TLS_PSK_WITH_AES_256_GCM_SHA384
  117. | TLS_DHE_PSK_WITH_AES_128_GCM_SHA256
  118. | TLS_DHE_PSK_WITH_AES_256_GCM_SHA384
  119. | TLS_RSA_PSK_WITH_AES_128_GCM_SHA256
  120. | TLS_RSA_PSK_WITH_AES_256_GCM_SHA384
  121. | TLS_PSK_WITH_AES_128_CBC_SHA256
  122. | TLS_PSK_WITH_AES_256_CBC_SHA384
  123. | TLS_PSK_WITH_NULL_SHA256
  124. | TLS_PSK_WITH_NULL_SHA384
  125. | TLS_DHE_PSK_WITH_AES_128_CBC_SHA256
  126. | TLS_DHE_PSK_WITH_AES_256_CBC_SHA384
  127. | TLS_DHE_PSK_WITH_NULL_SHA256
  128. | TLS_DHE_PSK_WITH_NULL_SHA384
  129. | TLS_RSA_PSK_WITH_AES_128_CBC_SHA256
  130. | TLS_RSA_PSK_WITH_AES_256_CBC_SHA384
  131. | TLS_RSA_PSK_WITH_NULL_SHA256
  132. | TLS_RSA_PSK_WITH_NULL_SHA384
  133. | TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256
  134. | TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256
  135. | TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256
  136. | TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256
  137. | TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
  138. | TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256
  139. | TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256
  140. | TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256
  141. | TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256
  142. | TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256
  143. | TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256
  144. | TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256
  145. | TLS_EMPTY_RENEGOTIATION_INFO_SCSV
  146. | TLS_AES_128_GCM_SHA256
  147. | TLS_AES_256_GCM_SHA384
  148. | TLS_CHACHA20_POLY1305_SHA256
  149. | TLS_AES_128_CCM_SHA256
  150. | TLS_AES_128_CCM_8_SHA256
  151. | TLS_FALLBACK_SCSV
  152. | TLS_ECDH_ECDSA_WITH_NULL_SHA
  153. | TLS_ECDH_ECDSA_WITH_RC4_128_SHA
  154. | TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
  155. | TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
  156. | TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
  157. | TLS_ECDHE_ECDSA_WITH_NULL_SHA
  158. | TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
  159. | TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
  160. | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  161. | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  162. | TLS_ECDH_RSA_WITH_NULL_SHA
  163. | TLS_ECDH_RSA_WITH_RC4_128_SHA
  164. | TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
  165. | TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
  166. | TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
  167. | TLS_ECDHE_RSA_WITH_NULL_SHA
  168. | TLS_ECDHE_RSA_WITH_RC4_128_SHA
  169. | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
  170. | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  171. | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  172. | TLS_ECDH_anon_WITH_NULL_SHA
  173. | TLS_ECDH_anon_WITH_RC4_128_SHA
  174. | TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA
  175. | TLS_ECDH_anon_WITH_AES_128_CBC_SHA
  176. | TLS_ECDH_anon_WITH_AES_256_CBC_SHA
  177. | TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA
  178. | TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA
  179. | TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA
  180. | TLS_SRP_SHA_WITH_AES_128_CBC_SHA
  181. | TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA
  182. | TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA
  183. | TLS_SRP_SHA_WITH_AES_256_CBC_SHA
  184. | TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA
  185. | TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA
  186. | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  187. | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  188. | TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
  189. | TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
  190. | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  191. | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  192. | TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
  193. | TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
  194. | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  195. | TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  196. | TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
  197. | TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
  198. | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  199. | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  200. | TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
  201. | TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
  202. | TLS_ECDHE_PSK_WITH_RC4_128_SHA
  203. | TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
  204. | TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
  205. | TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
  206. | TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
  207. | TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
  208. | TLS_ECDHE_PSK_WITH_NULL_SHA
  209. | TLS_ECDHE_PSK_WITH_NULL_SHA256
  210. | TLS_ECDHE_PSK_WITH_NULL_SHA384
  211. | TLS_RSA_WITH_ARIA_128_CBC_SHA256
  212. | TLS_RSA_WITH_ARIA_256_CBC_SHA384
  213. | TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256
  214. | TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384
  215. | TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256
  216. | TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384
  217. | TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256
  218. | TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384
  219. | TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256
  220. | TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384
  221. | TLS_DH_anon_WITH_ARIA_128_CBC_SHA256
  222. | TLS_DH_anon_WITH_ARIA_256_CBC_SHA384
  223. | TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256
  224. | TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384
  225. | TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256
  226. | TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384
  227. | TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256
  228. | TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384
  229. | TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256
  230. | TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384
  231. | TLS_RSA_WITH_ARIA_128_GCM_SHA256
  232. | TLS_RSA_WITH_ARIA_256_GCM_SHA384
  233. | TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256
  234. | TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384
  235. | TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256
  236. | TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384
  237. | TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256
  238. | TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384
  239. | TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256
  240. | TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384
  241. | TLS_DH_anon_WITH_ARIA_128_GCM_SHA256
  242. | TLS_DH_anon_WITH_ARIA_256_GCM_SHA384
  243. | TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
  244. | TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
  245. | TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256
  246. | TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384
  247. | TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
  248. | TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
  249. | TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256
  250. | TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384
  251. | TLS_PSK_WITH_ARIA_128_CBC_SHA256
  252. | TLS_PSK_WITH_ARIA_256_CBC_SHA384
  253. | TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256
  254. | TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384
  255. | TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256
  256. | TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384
  257. | TLS_PSK_WITH_ARIA_128_GCM_SHA256
  258. | TLS_PSK_WITH_ARIA_256_GCM_SHA384
  259. | TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256
  260. | TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384
  261. | TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256
  262. | TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384
  263. | TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256
  264. | TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384
  265. | TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
  266. | TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
  267. | TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
  268. | TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
  269. | TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
  270. | TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
  271. | TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
  272. | TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
  273. | TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
  274. | TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
  275. | TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
  276. | TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
  277. | TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256
  278. | TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384
  279. | TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256
  280. | TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384
  281. | TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256
  282. | TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384
  283. | TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256
  284. | TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384
  285. | TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
  286. | TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
  287. | TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
  288. | TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
  289. | TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
  290. | TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
  291. | TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
  292. | TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
  293. | TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
  294. | TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
  295. | TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
  296. | TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
  297. | TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
  298. | TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
  299. | TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
  300. | TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
  301. | TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
  302. | TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
  303. | TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
  304. | TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
  305. | TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
  306. | TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
  307. | TLS_RSA_WITH_AES_128_CCM
  308. | TLS_RSA_WITH_AES_256_CCM
  309. | TLS_DHE_RSA_WITH_AES_128_CCM
  310. | TLS_DHE_RSA_WITH_AES_256_CCM
  311. | TLS_RSA_WITH_AES_128_CCM_8
  312. | TLS_RSA_WITH_AES_256_CCM_8
  313. | TLS_DHE_RSA_WITH_AES_128_CCM_8
  314. | TLS_DHE_RSA_WITH_AES_256_CCM_8
  315. | TLS_PSK_WITH_AES_128_CCM
  316. | TLS_PSK_WITH_AES_256_CCM
  317. | TLS_DHE_PSK_WITH_AES_128_CCM
  318. | TLS_DHE_PSK_WITH_AES_256_CCM
  319. | TLS_PSK_WITH_AES_128_CCM_8
  320. | TLS_PSK_WITH_AES_256_CCM_8
  321. | TLS_DHE_PSK_WITH_AES_128_CCM_8
  322. | TLS_DHE_PSK_WITH_AES_256_CCM_8
  323. | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  324. | TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
  325. | TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256
  326. | TLS_ECDHE_PSK_WITH_CHACHA20_POLY1305_SHA256
  327. | TLS_DHE_PSK_WITH_CHACHA20_POLY1305_SHA256
  328. | TLS_ECDHE_PSK_WITH_AES_128_GCM_SHA256
  329. | TLS_ECDHE_PSK_WITH_AES_256_GCM_SHA384
  330. | TLS_ECDHE_PSK_WITH_AES_128_CCM_8_SHA256
  331. | TLS_ECDHE_PSK_WITH_AES_128_CCM_SHA256
  332. | TLS_ECDHE_PSK_WITH_AES_256_CCM_SHA384
val int_to_any_ciphersuite : int -> any_ciphersuite option
val any_ciphersuite_to_int : any_ciphersuite -> int
val compare_any_ciphersuite : any_ciphersuite -> any_ciphersuite -> int
val any_ciphersuite_to_string : any_ciphersuite -> string
val string_to_any_ciphersuite : string -> any_ciphersuite option
val sexp_of_any_ciphersuite : any_ciphersuite -> Sexplib.Sexp.t
val any_ciphersuite_of_sexp : Sexplib.Sexp.t -> any_ciphersuite
type key_update_request_type =
  1. | UPDATE_NOT_REQUESTED
  2. | UPDATE_REQUESTED
val int_to_key_update_request_type : int -> key_update_request_type option
val key_update_request_type_to_int : key_update_request_type -> int
val compare_key_update_request_type : key_update_request_type -> key_update_request_type -> int
val key_update_request_type_to_string : key_update_request_type -> string
val string_to_key_update_request_type : string -> key_update_request_type option
val sexp_of_key_update_request_type : key_update_request_type -> Sexplib.Sexp.t
val key_update_request_type_of_sexp : Sexplib.Sexp.t -> key_update_request_type
val helloretryrequest : Mirage_crypto.Hash.digest
val downgrade12 : Cstruct.t
val downgrade11 : Cstruct.t
OCaml

Innovation. Community. Security.