# THIS FILE WAS AUTOMATICALLY GENERATED BY scripts/generate_ssl_server_defaults.cr
# on 2023-07-21 10:32:46 UTC.

abstract class OpenSSL::SSL::Context
  # The list of secure ciphers on **modern** compatibility level as per Mozilla
  # recommendations.
  #
  # The oldest clients supported by this configuration are:
  # * Firefox 63
  # * Android 10.0
  # * Chrome 70
  # * Edge 75
  # * Java 11
  # * OpenSSL 1.1.1
  # * Opera 57
  # * Safari 12.1
  #
  # This list represents version 5.7 of the modern configuration
  # available at https://ssl-config.mozilla.org/guidelines/5.7.json.
  #
  # See https://wiki.mozilla.org/Security/Server_Side_TLS for details.
  CIPHERS_MODERN = "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS"

  # The list of secure ciphersuites on **modern** compatibility level as per Mozilla
  # recommendations.
  #
  # The oldest clients supported by this configuration are:
  # * Firefox 63
  # * Android 10.0
  # * Chrome 70
  # * Edge 75
  # * Java 11
  # * OpenSSL 1.1.1
  # * Opera 57
  # * Safari 12.1
  #
  # This list represents version 5.7 of the modern configuration
  # available at https://ssl-config.mozilla.org/guidelines/5.7.json.
  #
  # See https://wiki.mozilla.org/Security/Server_Side_TLS for details.
  CIPHER_SUITES_MODERN = "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256"

  # The list of secure ciphers on **intermediate** compatibility level as per Mozilla
  # recommendations.
  #
  # The oldest clients supported by this configuration are:
  # * Firefox 27
  # * Android 4.4.2
  # * Chrome 31
  # * Edge
  # * IE 11 on Windows 7
  # * Java 8u31
  # * OpenSSL 1.0.1
  # * Opera 20
  # * Safari 9
  #
  # This list represents version 5.7 of the intermediate configuration
  # available at https://ssl-config.mozilla.org/guidelines/5.7.json.
  #
  # See https://wiki.mozilla.org/Security/Server_Side_TLS for details.
  CIPHERS_INTERMEDIATE = "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS"

  # The list of secure ciphersuites on **intermediate** compatibility level as per Mozilla
  # recommendations.
  #
  # The oldest clients supported by this configuration are:
  # * Firefox 27
  # * Android 4.4.2
  # * Chrome 31
  # * Edge
  # * IE 11 on Windows 7
  # * Java 8u31
  # * OpenSSL 1.0.1
  # * Opera 20
  # * Safari 9
  #
  # This list represents version 5.7 of the intermediate configuration
  # available at https://ssl-config.mozilla.org/guidelines/5.7.json.
  #
  # See https://wiki.mozilla.org/Security/Server_Side_TLS for details.
  CIPHER_SUITES_INTERMEDIATE = "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256"

  # The list of secure ciphers on **old** compatibility level as per Mozilla
  # recommendations.
  #
  # The oldest clients supported by this configuration are:
  # * Firefox 1
  # * Android 2.3
  # * Chrome 1
  # * Edge 12
  # * IE8 on Windows XP
  # * Java 6
  # * OpenSSL 0.9.8
  # * Opera 5
  # * Safari 1
  #
  # This list represents version 5.7 of the old configuration
  # available at https://ssl-config.mozilla.org/guidelines/5.7.json.
  #
  # See https://wiki.mozilla.org/Security/Server_Side_TLS for details.
  CIPHERS_OLD = "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA256:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:DES-CBC3-SHA:!RC4:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS"

  # The list of secure ciphersuites on **old** compatibility level as per Mozilla
  # recommendations.
  #
  # The oldest clients supported by this configuration are:
  # * Firefox 1
  # * Android 2.3
  # * Chrome 1
  # * Edge 12
  # * IE8 on Windows XP
  # * Java 6
  # * OpenSSL 0.9.8
  # * Opera 5
  # * Safari 1
  #
  # This list represents version 5.7 of the old configuration
  # available at https://ssl-config.mozilla.org/guidelines/5.7.json.
  #
  # See https://wiki.mozilla.org/Security/Server_Side_TLS for details.
  CIPHER_SUITES_OLD = "TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256"
end
