Enum Class ETLSConfigurationMode_2020_02

java.lang.Object
java.lang.Enum<ETLSConfigurationMode_2020_02>
com.helger.http.tls.ETLSConfigurationMode_2020_02
All Implemented Interfaces:
com.helger.base.id.IHasID<String>, ITLSConfigurationMode, Serializable, Comparable<ETLSConfigurationMode_2020_02>, Constable

public enum ETLSConfigurationMode_2020_02 extends Enum<ETLSConfigurationMode_2020_02> implements com.helger.base.id.IHasID<String>, ITLSConfigurationMode
TLS cipher suite configuration modes according to https://wiki.mozilla.org/Security/Server_Side_TLS from 2020-02-20. Still valid on 2025-08-12.

See the tool MainMapCipherSuites for the cipher suite name mapping

Since:
9.1.11
Author:
Philip Helger
  • Enum Constant Details

    • MODERN

      public static final ETLSConfigurationMode_2020_02 MODERN
      For services with clients that support TLS 1.3 and don't need backward compatibility, the Modern configuration provides an extremely high level of security.
      This configuration is compatible with Firefox 63, Android 10.0, Chrome 70, Edge 75, NOT on Internet Explorer, Java 11, OpenSSL 1.1.1, Opera 57, Safari 12.1.
    • INTERMEDIATE

      public static final ETLSConfigurationMode_2020_02 INTERMEDIATE
      For services that don't need compatibility with legacy clients, such as Windows XP or old versions of OpenSSL. This is the recommended configuration for the vast majority of services, as it is highly secure and compatible with nearly every client released in the last five (or more) years.
      This configuration is compatible with Firefox 27, Android 4.4.2, Chrome 31, Edge 12, Internet Explorer 11, Java 8u31, OpenSSL 1.0.1, Opera 20, Safari 9.
    • OLD

      public static final ETLSConfigurationMode_2020_02 OLD
      This configuration is compatible with a number of very old clients, and should be used only as a last resort.
      This configuration is compatible with Firefox 1, Android 2.3, Chrome 1, Edge 12, Internet Explorer 8, Java 6, OpenSSL 0.9.8, Opera 5, Safari 1.
  • Method Details

    • values

      public static ETLSConfigurationMode_2020_02[] values()
      Returns an array containing the constants of this enum class, in the order they are declared.
      Returns:
      an array containing the constants of this enum class, in the order they are declared
    • valueOf

      public static ETLSConfigurationMode_2020_02 valueOf(String name)
      Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum class has no constant with the specified name
      NullPointerException - if the argument is null
    • getID

      @Nonnull @Nonempty public String getID()
      Specified by:
      getID in interface com.helger.base.id.IHasID<String>
    • getAllCipherSuites

      @Nonnull @ReturnsMutableCopy public com.helger.collection.commons.ICommonsList<String> getAllCipherSuites()
      Specified by:
      getAllCipherSuites in interface ITLSConfigurationMode
      Returns:
      All cipher suites in the correct order. May not be null.
    • getAllCipherSuitesAsArray

      @Nonnull @ReturnsMutableCopy public String[] getAllCipherSuitesAsArray()
      Specified by:
      getAllCipherSuitesAsArray in interface ITLSConfigurationMode
      Returns:
      All cipher suites in the correct order. May be null if no cipher suite is defined.
    • getAllTLSVersions

      @Nonnull @ReturnsMutableCopy public com.helger.collection.commons.ICommonsList<ETLSVersion> getAllTLSVersions()
      Specified by:
      getAllTLSVersions in interface ITLSConfigurationMode
      Returns:
      A list of supported TLS versions in the correct order. May not be null.
    • getAllTLSVersionIDs

      @Nonnull @ReturnsMutableCopy public com.helger.collection.commons.ICommonsList<String> getAllTLSVersionIDs()
      Specified by:
      getAllTLSVersionIDs in interface ITLSConfigurationMode
      Returns:
      A list of the IDs of the supported TLS versions in the correct order. May not be null.
    • getAllTLSVersionIDsAsArray

      @Nonnull @ReturnsMutableCopy public String[] getAllTLSVersionIDsAsArray()
      Specified by:
      getAllTLSVersionIDsAsArray in interface ITLSConfigurationMode
      Returns:
      A list of the IDs of the supported TLS versions in the correct order. May be null if no TLS versions are defined.
    • getFromIDOrNull

      @Nullable public static ETLSConfigurationMode_2020_02 getFromIDOrNull(@Nullable String sID)