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. | UNSUPPORTED_EXTENSION
  27. | CERTIFICATE_UNOBTAINABLE
  28. | UNRECOGNIZED_NAME
  29. | BAD_CERTIFICATE_STATUS_RESPONSE
  30. | BAD_CERTIFICATE_HASH_VALUE
  31. | UNKNOWN_PSK_IDENTITY
  32. | 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. | NEWSESSIONTICKET
  6. | CERTIFICATE
  7. | SERVER_KEY_EXCHANGE
  8. | CERTIFICATE_REQUEST
  9. | SERVER_HELLO_DONE
  10. | CERTIFICATE_VERIFY
  11. | CLIENT_KEY_EXCHANGE
  12. | FINISHED
  13. | CERTIFICATE_URL
  14. | CERTIFICATE_STATUS
  15. | SUPPLEMENTAL_DATA
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. | ELLIPTIC_CURVES
  12. | EC_POINT_FORMATS
  13. | SRP
  14. | SIGNATURE_ALGORITHMS
  15. | USE_SRP
  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. | SESSIONTICKET_TLS
  26. | RENEGOTIATION_INFO
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 signature_algorithm_type =
  1. | ANONYMOUS
  2. | RSA
  3. | DSA
  4. | ECDSA
val int_to_signature_algorithm_type : int -> signature_algorithm_type option
val signature_algorithm_type_to_int : signature_algorithm_type -> int
val compare_signature_algorithm_type : signature_algorithm_type -> signature_algorithm_type -> int
val signature_algorithm_type_to_string : signature_algorithm_type -> string
val string_to_signature_algorithm_type : string -> signature_algorithm_type option
val sexp_of_signature_algorithm_type : signature_algorithm_type -> Sexplib.Sexp.t
val signature_algorithm_type_of_sexp : Sexplib.Sexp.t -> signature_algorithm_type
type hash_algorithm =
  1. | NULL
  2. | MD5
  3. | SHA
  4. | SHA224
  5. | SHA256
  6. | SHA384
  7. | SHA512
val int_to_hash_algorithm : int -> hash_algorithm option
val hash_algorithm_to_int : hash_algorithm -> int
val compare_hash_algorithm : hash_algorithm -> hash_algorithm -> int
val hash_algorithm_to_string : hash_algorithm -> string
val string_to_hash_algorithm : string -> hash_algorithm option
val sexp_of_hash_algorithm : hash_algorithm -> Sexplib.Sexp.t
val hash_algorithm_of_sexp : Sexplib.Sexp.t -> hash_algorithm
val hash_algorithm_of_tag : [< `MD5 | `SHA1 | `SHA224 | `SHA256 | `SHA384 | `SHA512 ] -> hash_algorithm

hash_algorithm_of_tag tag is hash_algorithm for the given tag

val tag_of_hash_algorithm : hash_algorithm -> [> `MD5 | `SHA1 | `SHA224 | `SHA256 | `SHA384 | `SHA512 ] option

tag_of_hash_algorithm hash_algorithm is tag for the given hash_algorithm

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_curve_type =
  1. | SECT163K1
  2. | SECT163R1
  3. | SECT163R2
  4. | SECT193R1
  5. | SECT193R2
  6. | SECT233K1
  7. | SECT233R1
  8. | SECT239K1
  9. | SECT283K1
  10. | SECT283R1
  11. | SECT409K1
  12. | SECT409R1
  13. | SECT571K1
  14. | SECT571R1
  15. | SECP160K1
  16. | SECP160R1
  17. | SECP160R2
  18. | SECP192K1
  19. | SECP192R1
  20. | SECP224K1
  21. | SECP224R1
  22. | SECP256K1
  23. | SECP256R1
  24. | SECP384R1
  25. | SECP521R1
  26. | BRAINPOOLP256R1
  27. | BRAINPOOLP384R1
  28. | BRAINPOOLP512R1
  29. | ARBITRARY_EXPLICIT_PRIME_CURVES
  30. | ARBITRARY_EXPLICIT_CHAR2_CURVES
val int_to_named_curve_type : int -> named_curve_type option
val named_curve_type_to_int : named_curve_type -> int
val compare_named_curve_type : named_curve_type -> named_curve_type -> int
val named_curve_type_to_string : named_curve_type -> string
val string_to_named_curve_type : string -> named_curve_type option
val sexp_of_named_curve_type : named_curve_type -> Sexplib.Sexp.t
val named_curve_type_of_sexp : Sexplib.Sexp.t -> named_curve_type
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_FALLBACK_SCSV
  147. | TLS_ECDH_ECDSA_WITH_NULL_SHA
  148. | TLS_ECDH_ECDSA_WITH_RC4_128_SHA
  149. | TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA
  150. | TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA
  151. | TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA
  152. | TLS_ECDHE_ECDSA_WITH_NULL_SHA
  153. | TLS_ECDHE_ECDSA_WITH_RC4_128_SHA
  154. | TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA
  155. | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
  156. | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
  157. | TLS_ECDH_RSA_WITH_NULL_SHA
  158. | TLS_ECDH_RSA_WITH_RC4_128_SHA
  159. | TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA
  160. | TLS_ECDH_RSA_WITH_AES_128_CBC_SHA
  161. | TLS_ECDH_RSA_WITH_AES_256_CBC_SHA
  162. | TLS_ECDHE_RSA_WITH_NULL_SHA
  163. | TLS_ECDHE_RSA_WITH_RC4_128_SHA
  164. | TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA
  165. | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
  166. | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
  167. | TLS_ECDH_anon_WITH_NULL_SHA
  168. | TLS_ECDH_anon_WITH_RC4_128_SHA
  169. | TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA
  170. | TLS_ECDH_anon_WITH_AES_128_CBC_SHA
  171. | TLS_ECDH_anon_WITH_AES_256_CBC_SHA
  172. | TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA
  173. | TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA
  174. | TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA
  175. | TLS_SRP_SHA_WITH_AES_128_CBC_SHA
  176. | TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA
  177. | TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA
  178. | TLS_SRP_SHA_WITH_AES_256_CBC_SHA
  179. | TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA
  180. | TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA
  181. | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  182. | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384
  183. | TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256
  184. | TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384
  185. | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
  186. | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
  187. | TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
  188. | TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
  189. | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  190. | TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  191. | TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256
  192. | TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384
  193. | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
  194. | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
  195. | TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
  196. | TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
  197. | TLS_ECDHE_PSK_WITH_RC4_128_SHA
  198. | TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA
  199. | TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA
  200. | TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA
  201. | TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256
  202. | TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384
  203. | TLS_ECDHE_PSK_WITH_NULL_SHA
  204. | TLS_ECDHE_PSK_WITH_NULL_SHA256
  205. | TLS_ECDHE_PSK_WITH_NULL_SHA384
  206. | TLS_RSA_WITH_ARIA_128_CBC_SHA256
  207. | TLS_RSA_WITH_ARIA_256_CBC_SHA384
  208. | TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256
  209. | TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384
  210. | TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256
  211. | TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384
  212. | TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256
  213. | TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384
  214. | TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256
  215. | TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384
  216. | TLS_DH_anon_WITH_ARIA_128_CBC_SHA256
  217. | TLS_DH_anon_WITH_ARIA_256_CBC_SHA384
  218. | TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256
  219. | TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384
  220. | TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256
  221. | TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384
  222. | TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256
  223. | TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384
  224. | TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256
  225. | TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384
  226. | TLS_RSA_WITH_ARIA_128_GCM_SHA256
  227. | TLS_RSA_WITH_ARIA_256_GCM_SHA384
  228. | TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256
  229. | TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384
  230. | TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256
  231. | TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384
  232. | TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256
  233. | TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384
  234. | TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256
  235. | TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384
  236. | TLS_DH_anon_WITH_ARIA_128_GCM_SHA256
  237. | TLS_DH_anon_WITH_ARIA_256_GCM_SHA384
  238. | TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256
  239. | TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384
  240. | TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256
  241. | TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384
  242. | TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256
  243. | TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384
  244. | TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256
  245. | TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384
  246. | TLS_PSK_WITH_ARIA_128_CBC_SHA256
  247. | TLS_PSK_WITH_ARIA_256_CBC_SHA384
  248. | TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256
  249. | TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384
  250. | TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256
  251. | TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384
  252. | TLS_PSK_WITH_ARIA_128_GCM_SHA256
  253. | TLS_PSK_WITH_ARIA_256_GCM_SHA384
  254. | TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256
  255. | TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384
  256. | TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256
  257. | TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384
  258. | TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256
  259. | TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384
  260. | TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
  261. | TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
  262. | TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256
  263. | TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384
  264. | TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256
  265. | TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384
  266. | TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256
  267. | TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384
  268. | TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256
  269. | TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384
  270. | TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
  271. | TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
  272. | TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256
  273. | TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384
  274. | TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256
  275. | TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384
  276. | TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256
  277. | TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384
  278. | TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256
  279. | TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384
  280. | TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
  281. | TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
  282. | TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256
  283. | TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
  284. | TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256
  285. | TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384
  286. | TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256
  287. | TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384
  288. | TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256
  289. | TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384
  290. | TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256
  291. | TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384
  292. | TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256
  293. | TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384
  294. | TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256
  295. | TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384
  296. | TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
  297. | TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
  298. | TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256
  299. | TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384
  300. | TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256
  301. | TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384
  302. | TLS_RSA_WITH_AES_128_CCM
  303. | TLS_RSA_WITH_AES_256_CCM
  304. | TLS_DHE_RSA_WITH_AES_128_CCM
  305. | TLS_DHE_RSA_WITH_AES_256_CCM
  306. | TLS_RSA_WITH_AES_128_CCM_8
  307. | TLS_RSA_WITH_AES_256_CCM_8
  308. | TLS_DHE_RSA_WITH_AES_128_CCM_8
  309. | TLS_DHE_RSA_WITH_AES_256_CCM_8
  310. | TLS_PSK_WITH_AES_128_CCM
  311. | TLS_PSK_WITH_AES_256_CCM
  312. | TLS_DHE_PSK_WITH_AES_128_CCM
  313. | TLS_DHE_PSK_WITH_AES_256_CCM
  314. | TLS_PSK_WITH_AES_128_CCM_8
  315. | TLS_PSK_WITH_AES_256_CCM_8
  316. | TLS_PSK_DHE_WITH_AES_128_CCM_8
  317. | TLS_PSK_DHE_WITH_AES_256_CCM_8
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
OCaml

Innovation. Community. Security.