Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
   /*
    *  Licensed to the Apache Software Foundation (ASF) under one or more
    *  contributor license agreements.  See the NOTICE file distributed with
    *  this work for additional information regarding copyright ownership.
    *  The ASF licenses this file to You under the Apache License, Version 2.0
    *  (the "License"); you may not use this file except in compliance with
    *  the License.  You may obtain a copy of the License at
    *
    *      http://www.apache.org/licenses/LICENSE-2.0
   *
   *  Unless required by applicable law or agreed to in writing, software
   *  distributed under the License is distributed on an "AS IS" BASIS,
   *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   *  See the License for the specific language governing permissions and
   *  limitations under the License.
   */
  
  package org.apache.tomcat.util.net.jsse.openssl;
  
  import java.util.Arrays;
  import java.util.HashSet;
  import java.util.Set;

All the standard cipher suites for SSL/TSL.

See also:
The cipher suite registry
Another list of cipher suites with some non-standard IDs
Oracle standard names for cipher suites
Mapping of OpenSSL cipher suites names to registry names
  
  enum Cipher {
      /* The RSA ciphers */
      // Cipher 01
      TLS_RSA_WITH_NULL_MD5(
              "NULL-MD5",
              .,
              .,
              .,
              .,
              .,
              false,
              .,
              false,
              0,
              0,
              "SSL_RSA_WITH_NULL_MD5"
      ),
      // Cipher 02
      TLS_RSA_WITH_NULL_SHA(
              "NULL-SHA",
              .,
              .,
              .,
              .,
              .,
              false,
              .,
              true,
              0,
              0,
              "SSL_RSA_WITH_NULL_SHA"
      ),
      // Cipher 03
      TLS_RSA_EXPORT_WITH_RC4_40_MD5(
              "EXP-RC4-MD5",
              .,
              .,
              .,
              .,
              .,
              true,
              .,
              false,
              40,
              128,
              "SSL_RSA_EXPORT_WITH_RC4_40_MD5"
      ),
      // Cipher 04
      TLS_RSA_WITH_RC4_128_MD5(
              "RC4-MD5",
              .,
              .,
              .,
              .,
              .,
              false,
              .,
              false,
              128,
              128,
              "SSL_RSA_WITH_RC4_128_MD5"
      ),
      // Cipher 05
     TLS_RSA_WITH_RC4_128_SHA(
             "RC4-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             128,
             128,
             "SSL_RSA_WITH_RC4_128_SHA"
     ),
     // Cipher 06
     TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5(
             "EXP-RC2-CBC-MD5",
             .,
             .,
             .,
             .,
             .,
             true,
             .,
             false,
             40,
             128,
             "SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5"
     ),
     // Cipher 07
     TLS_RSA_WITH_IDEA_CBC_SHA(
             "IDEA-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             128,
             128,
             "SSL_RSA_WITH_IDEA_CBC_SHA"
     ),
     // Cipher 08
     TLS_RSA_EXPORT_WITH_DES40_CBC_SHA(
             "EXP-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             true,
             .,
             false,
             40,
             56,
             "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA"
     ),
     // Cipher 09
     TLS_RSA_WITH_DES_CBC_SHA(
             "DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             56,
             56,
             "SSL_RSA_WITH_DES_CBC_SHA"
     ),
     // Cipher 0A
     TLS_RSA_WITH_3DES_EDE_CBC_SHA(
             "DES-CBC3-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             168,
             168,
             "SSL_RSA_WITH_3DES_EDE_CBC_SHA"
     ),
     /* The DH ciphers */
     // Cipher 0B
     TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA(
             "EXP-DH-DSS-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             true,
             .,
             false,
             40,
             56,
             "SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"
     ),
     // Cipher 0C
     TLS_DH_DSS_WITH_DES_CBC_SHA(
             "DH-DSS-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             56,
             56,
             "SSL_DH_DSS_WITH_DES_CBC_SHA"
     ),
     // Cipher 0D
     TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA(
             "DH-DSS-DES-CBC3-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             168,
             168,
             "SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA"
     ),
     // Cipher 0E
     TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA(
             "EXP-DH-RSA-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             true,
             .,
             false,
             40,
             56,
             "SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"
     ),
     // Cipher 0F
     TLS_DH_RSA_WITH_DES_CBC_SHA(
             "DH-RSA-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             56,
             56,
             "SSL_DH_RSA_WITH_DES_CBC_SHA"
     ),
     // Cipher 10
     TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA(
             "DH-RSA-DES-CBC3-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             168,
             168,
             "SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA"
     ),
     /* The Ephemeral DH ciphers */
     // Cipher 11
     TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA(
             "EXP-EDH-DSS-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             true,
             .,
             false,
             40,
             56,
             "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"
     ),
     // Cipher 12
     TLS_DHE_DSS_WITH_DES_CBC_SHA(
             "EDH-DSS-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             56,
             56,
             "SSL_DHE_DSS_WITH_DES_CBC_SHA"
     ),
     // Cipher 13
     TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA(
             "EDH-DSS-DES-CBC3-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             168,
             168,
             "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
     ),
     // Cipher 14
     TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA(
             "EXP-EDH-RSA-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             true,
             .,
             false,
             40,
             56,
             "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"
     ),
     // Cipher 15
     TLS_DHE_RSA_WITH_DES_CBC_SHA(
             "EDH-RSA-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             56,
             56,
             "SSL_DHE_RSA_WITH_DES_CBC_SHA"
     ),
     // Cipher 16
     TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA(
             "EDH-RSA-DES-CBC3-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             168,
             168,
             "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA"
     ),
     // Cipher 17
     TLS_DH_anon_EXPORT_WITH_RC4_40_MD5(
             "EXP-ADH-RC4-MD5",
             .,
             .,
             .,
             .,
             .,
             true,
             .,
             false,
             40,
             128,
             "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5"
     ),
     // Cipher 18
     TLS_DH_anon_WITH_RC4_128_MD5(
             "ADH-RC4-MD5",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             128,
             128,
             "SSL_DH_anon_WITH_RC4_128_MD5"
     ),
     // Cipher 19
     TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA(
             "EXP-ADH-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             true,
             .,
             false,
             40,
             128,
             "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA"
     ),
     // Cipher 1A
     TLS_DH_anon_WITH_DES_CBC_SHA(
             "ADH-DES-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             56,
             56,
             "SSL_DH_anon_WITH_DES_CBC_SHA"
     ),
     // Cipher 1B
     TLS_DH_anon_WITH_3DES_EDE_CBC_SHA(
             "ADH-DES-CBC3-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             168,
             168,
             "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA"
     ),
     /* Fortezza ciphersuite from SSL 3.0 spec */
     SSL_FORTEZZA_DMS_WITH_NULL_SHA(
             "FZA-NULL-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             0,
             0
     ),
     SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA(
             "FZA-FZA-CBC-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             0,
             0
     ),
     SSL_FORTEZZA_DMS_WITH_RC4_128_SHA(
             "FZA-RC4-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             128,
             128
     ),
     /* The Kerberos ciphers*/
     // Cipher 1E
     /*TLS_KRB5_WITH_DES_CBC_SHA(
             "KRB5-DES-CBC-SHA",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.DES,
             MessageDigest.SHA1,
             Protocol.SSLv3,
             false,
             EncryptionLevel.LOW,
             false,
             56,
             56
     ),
     // Cipher 1F
     TLS_KRB5_WITH_3DES_EDE_CBC_SHA(
             "KRB5-DES-CBC3-SHA",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.TRIPLE_DES,
             MessageDigest.SHA1,
             Protocol.SSLv3,
             false,
             EncryptionLevel.HIGH,
             true,
             168,
             168
     ),
     // Cipher 20
     TLS_KRB5_WITH_RC4_128_SHA(
             "KRB5-RC4-SHA",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.RC4,
             MessageDigest.SHA1,
             Protocol.SSLv3,
             false,
             EncryptionLevel.MEDIUM,
             false,
             128,
             128
     ),
     // Cipher 21
     TLS_KRB5_WITH_IDEA_CBC_SHA(
             "KRB5-IDEA-CBC-SHA",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.IDEA,
             MessageDigest.SHA1,
             Protocol.SSLv3,
             false,
             EncryptionLevel.MEDIUM,
             false,
             128,
             128
     ),
     // Cipher 22
     TLS_KRB5_WITH_DES_CBC_MD5(
             "KRB5-DES-CBC-MD5",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.DES,
             MessageDigest.MD5,
             Protocol.SSLv3,
             false,
             EncryptionLevel.LOW,
             false,
             56,
             56
     ),
     // Cipher 23
     TLS_KRB5_WITH_3DES_EDE_CBC_MD5(
             "KRB5-DES-CBC3-MD5",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.TRIPLE_DES,
             MessageDigest.MD5,
             Protocol.SSLv3,
             false,
             EncryptionLevel.HIGH,
             false,
             168,
             168
     ),
     // Cipher 24
     TLS_KRB5_WITH_RC4_128_MD5(
             "KRB5-RC4-MD5",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.RC4,
             MessageDigest.MD5,
             Protocol.SSLv3,
             false,
             EncryptionLevel.MEDIUM,
             false,
             128,
             128
     ),
     // Cipher 25
     TLS_KRB5_WITH_IDEA_CBC_MD5(
             "KRB5-IDEA-CBC-MD5",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.IDEA,
             MessageDigest.MD5,
             Protocol.SSLv3,
             false,
             EncryptionLevel.MEDIUM,
             false,
             128,
             128
     ),
     // Cipher 26
     TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA(
             "EXP-KRB5-DES-CBC-SHA",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.DES,
             MessageDigest.SHA1,
             Protocol.SSLv3,
             true,
             EncryptionLevel.EXP40,
             false,
             40,
             56
     ),
     // Cipher 27
     TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA(
             "EXP-KRB5-RC2-CBC-SHA",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.RC2,
             MessageDigest.SHA1,
             Protocol.SSLv3,
             true,
             EncryptionLevel.EXP40,
             false,
             40,
             128
     ),
     // Cipher 28
     TLS_KRB5_EXPORT_WITH_RC4_40_SHA(
             "EXP-KRB5-RC4-SHA",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.RC4,
             MessageDigest.SHA1,
             Protocol.SSLv3,
             true,
             EncryptionLevel.EXP40,
             false,
             40,
             128
     ),
     // Cipher 29
     TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5(
             "EXP-KRB5-DES-CBC-MD5",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.DES,
             MessageDigest.MD5,
             Protocol.SSLv3,
             true,
             EncryptionLevel.EXP40,
             false,
             40,
             56
     ),
     // Cipher 2A
     TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5(
             "EXP-KRB5-RC2-CBC-MD5",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.RC2,
             MessageDigest.MD5,
             Protocol.SSLv3,
             true,
             EncryptionLevel.EXP40,
             false,
             40,
             128
     ),
     // Cipher 2B
     TLS_KRB5_EXPORT_WITH_RC4_40_MD5(
             "EXP-KRB5-RC4-MD5",
             KeyExchange.KRB5,
             Authentication.KRB5,
             Encryption.RC4,
             MessageDigest.MD5,
             Protocol.SSLv3,
             true,
             EncryptionLevel.EXP40,
             false,
             40,
             128
     ),*/
     /* New AES ciphersuites */
     // Cipher 2F
     TLS_RSA_WITH_AES_128_CBC_SHA(
             "AES128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     // Cipher 30
     TLS_DH_DSS_WITH_AES_128_CBC_SHA(
             "DH-DSS-AES128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     // Cipher 31
     TLS_DH_RSA_WITH_AES_128_CBC_SHA(
             "DH-RSA-AES128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     // Cipher 32
     TLS_DHE_DSS_WITH_AES_128_CBC_SHA(
             "DHE-DSS-AES128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     // Cipher 33
     TLS_DHE_RSA_WITH_AES_128_CBC_SHA(
             "DHE-RSA-AES128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     // Cipher 34
     TLS_DH_anon_WITH_AES_128_CBC_SHA(
             "ADH-AES128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     // Cipher 35
     TLS_RSA_WITH_AES_256_CBC_SHA(
             "AES256-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             256,
             256
     ),
     // Cipher 36
     TLS_DH_DSS_WITH_AES_256_CBC_SHA(
             "DH-DSS-AES256-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             256,
             256
     ),
     // Cipher 37
     TLS_DH_RSA_WITH_AES_256_CBC_SHA(
             "DH-RSA-AES256-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             256,
             256
     ),
     // Cipher 38
     TLS_DHE_DSS_WITH_AES_256_CBC_SHA(
             "DHE-DSS-AES256-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             256,
             256
     ),
     // Cipher 39
     TLS_DHE_RSA_WITH_AES_256_CBC_SHA(
             "DHE-RSA-AES256-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             256,
             256
     ),
     // Cipher 3A
     TLS_DH_anon_WITH_AES_256_CBC_SHA(
             "ADH-AES256-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             256,
             256
     ),
     /* TLS v1.2 ciphersuites */
     // Cipher 3B
     TLS_RSA_WITH_NULL_SHA256(
             "NULL-SHA256",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             0,
             0
     ),
     // Cipher 3C
     TLS_RSA_WITH_AES_128_CBC_SHA256(
             "AES128-SHA256",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     // Cipher 3D
     TLS_RSA_WITH_AES_256_CBC_SHA256(
             "AES256-SHA256",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             256,
             256
     ),
     // Cipher 3E
     TLS_DH_DSS_WITH_AES_128_CBC_SHA256(
             "DH-DSS-AES128-SHA256",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     // Cipher 3F
     TLS_DH_RSA_WITH_AES_128_CBC_SHA256(
             "DH-RSA-AES128-SHA256",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     // Cipher 40
     TLS_DHE_DSS_WITH_AES_128_CBC_SHA256(
             "DHE-DSS-AES128-SHA256",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             true,
             128,
             128
     ),
     /* Camellia ciphersuites from RFC4132 (
             128-bit portion) */
     // Cipher 41
     TLS_RSA_WITH_CAMELLIA_128_CBC_SHA(
             "CAMELLIA128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             128,
             128
     ),
     // Cipher 42
     TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA(
             "DH-DSS-CAMELLIA128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             128,
             128
     ),
     // Cipher 43
     TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA(
             "DH-RSA-CAMELLIA128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             128,
             128
     ),
     // Cipher 44
     TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA(
             "DHE-DSS-CAMELLIA128-SHA",
             .,
             .,
             .,
             .,
             .,
             false,
             .,
             false,
             128,
             128
     ),
     // Cipher 45
     TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA(
             "DHE-RSA-CAMELLIA128-SHA",
             .,
             .,
            .,
            .,
            .,
            false,
            .,
            false,
            128,
            128
    ),
    // Cipher 46
    TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA(
            "ADH-CAMELLIA128-SHA",
            .,
            .,
            .,
            .,
            .,
            false,
            .,
            false,
            128,
            128
    ),
    /* New TLS Export CipherSuites from expired ID */
    // Cipher 60
    TLS_RSA_EXPORT1024_WITH_RC4_56_MD5(
            "EXP1024-RC4-MD5",
            .,
            .,
            .,
            .,
            .,
            true,
            .,
            false,
            56,
            128,
            "SSL_RSA_EXPORT1024_WITH_RC4_56_MD5"
    ),
    // Cipher 61
    TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5(
            "EXP1024-RC2-CBC-MD5",
            .,
            .,
            .,
            .,
            .,
            true,
            .,
            false,
            56,
            128,
            "SSL_RSA_EXPORT1024_WITH_RC2_CBC_56_MD"
    ),
    // Cipher 62
    TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA(
            "EXP1024-DES-CBC-SHA",
            .,
            .,
            .,
            .,
            .,
            true,
            .,
            false,
            56,
            56,
            "SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA"
    ),
    // Cipher 63
    TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA(
            "EXP1024-DHE-DSS-DES-CBC-SHA",
            .,
            .,
            .,
            .,
            .,
            true,
            .,
            false,
            56,
            56,
            "SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA"
    ),
    // Cipher 64
    TLS_RSA_EXPORT1024_WITH_RC4_56_SHA(
            "EXP1024-RC4-SHA",
            .,
            .,
            .,
            .,
            .,
            true,
            .,
            false,
            56,
            128,
            "SSL_RSA_EXPORT1024_WITH_RC4_56_SHA"
    ),
    // Cipher 65
    TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA(
            "EXP1024-DHE-DSS-RC4-SHA",
            .,
            .,
            .,
            .,
            .,
            true,
            .,
            false,
            56,
            128,
            "SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA"
    ),
    // Cipher 66
    TLS_DHE_DSS_WITH_RC4_128_SHA(
            "DHE-DSS-RC4-SHA",
            .,
            .,
            .,
            .,
            .,
            false,
            .,
            false,
            128,
            128,
            "SSL_DHE_DSS_WITH_RC4_128_SHA"
    ),
    /* TLS v1.2 ciphersuites */
    // Cipher 67
    TLS_DHE_RSA_WITH_AES_128_CBC_SHA256(
            "DHE-RSA-AES128-SHA256",
            .,
            .,
            .,
            .,
            .,
            false,
            .,
            true,
            128,
            128
    ),
    // Cipher 68
    TLS_DH_DSS_WITH_AES_256_CBC_SHA256(
            "DH-DSS-AES256-SHA256",
            .,
            .,
            .,
            .,
            .,
            false,
            .,
            true,
            256,
            256
    ),
    // Cipher 69
    TLS_DH_RSA_WITH_AES_256_CBC_SHA256(
            "DH-RSA-AES256-SHA256",
            .,
            .,
            .,
            .,
            .,
            false,
            .,