Author: markt Date: Wed Jul 30 14:29:15 2014 New Revision: 1614666 URL: http://svn.apache.org/r1614666 Log: Use registered names where available for cipher enumeration Fix a couple of typos that crept in Add a test to confirm standard names are used
Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java Modified: tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java?rev=1614666&r1=1614665&r2=1614666&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java Wed Jul 30 14:29:15 2014 @@ -24,10 +24,6 @@ import java.util.Set; /** * All the standard cipher suites for SSL/TSL. * - * TODO Change the name of the enumeration entry to the registry name for the - * cipher (not the Java standard name which may vary between Java - * implementations). - * * @see <a href="http://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4" * >The cipher suite registry</a> * @see <a href="https://www.thesprawl.org/research/tls-and-ssl-cipher-suites/" @@ -40,8 +36,9 @@ import java.util.Set; enum Cipher { /* The RSA ciphers */ // Cipher 01 - SSL_RSA_WITH_NULL_MD5("NULL-MD5", - null, + TLS_RSA_WITH_NULL_MD5( + "NULL-MD5", + new String[] { "SSL_RSA_WITH_NULL_MD5" }, KeyExchange.RSA, Authentication.RSA, Encryption.eNULL, @@ -53,8 +50,9 @@ enum Cipher { 0, 0), // Cipher 02 - SSL_RSA_WITH_NULL_SHA("NULL-SHA", - null, + TLS_RSA_WITH_NULL_SHA( + "NULL-SHA", + new String[] { "SSL_RSA_WITH_NULL_SHA" }, KeyExchange.RSA, Authentication.RSA, Encryption.eNULL, @@ -66,7 +64,8 @@ enum Cipher { 0, 0), // Cipher 03 - TLS_RSA_EXPORT_WITH_RC4_40_MD5("EXP-RC4-MD5", + TLS_RSA_EXPORT_WITH_RC4_40_MD5( + "EXP-RC4-MD5", new String[] { "SSL_RSA_EXPORT_WITH_RC4_40_MD5" }, KeyExchange.RSA, Authentication.RSA, @@ -79,8 +78,9 @@ enum Cipher { 40, 128), // Cipher 04 - SSL_RSA_WITH_RC4_128_MD5("RC4-MD5", - null, + TLS_RSA_WITH_RC4_128_MD5( + "RC4-MD5", + new String[] { "SSL_RSA_WITH_RC4_128_MD5" }, KeyExchange.RSA, Authentication.RSA, Encryption.RC4, @@ -92,8 +92,9 @@ enum Cipher { 128, 128), // Cipher 05 - SSL_RSA_WITH_RC4_128_SHA("RC4-SHA", - null, + TLS_RSA_WITH_RC4_128_SHA( + "RC4-SHA", + new String[] { "SSL_RSA_WITH_RC4_128_SHA" }, KeyExchange.RSA, Authentication.RSA, Encryption.RC4, @@ -105,8 +106,9 @@ enum Cipher { 128, 128), // Cipher 06 - SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5("EXP-RC2-CBC-MD5", - null, + TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5( + "EXP-RC2-CBC-MD5", + new String[] { "SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5" }, KeyExchange.RSA, Authentication.RSA, Encryption.RC2, @@ -118,8 +120,9 @@ enum Cipher { 40, 128), // Cipher 07 - SSL_RSA_WITH_IDEA_CBC_SHA("IDEA-CBC-SHA", - null, + TLS_RSA_WITH_IDEA_CBC_SHA( + "IDEA-CBC-SHA", + new String[] { "SSL_RSA_WITH_IDEA_CBC_SHA" }, KeyExchange.RSA, Authentication.RSA, Encryption.IDEA, @@ -131,8 +134,9 @@ enum Cipher { 128, 128), // Cipher 08 - SSL_RSA_EXPORT_WITH_DES40_CBC_SHA("EXP-DES-CBC-SHA", - null, + TLS_RSA_EXPORT_WITH_DES40_CBC_SHA( + "EXP-DES-CBC-SHA", + new String[] { "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA" }, KeyExchange.RSA, Authentication.RSA, Encryption.DES, @@ -144,8 +148,9 @@ enum Cipher { 40, 56), // Cipher 09 - SSL_RSA_WITH_DES_CBC_SHA("DES-CBC-SHA", - null, + TLS_RSA_WITH_DES_CBC_SHA( + "DES-CBC-SHA", + new String[] { "SSL_RSA_WITH_DES_CBC_SHA" }, KeyExchange.RSA, Authentication.RSA, Encryption.DES, @@ -157,8 +162,9 @@ enum Cipher { 56, 56), // Cipher 0A - SSL_RSA_WITH_3DES_EDE_CBC_SHA("DES-CBC3-SHA", - null, + TLS_RSA_WITH_3DES_EDE_CBC_SHA( + "DES-CBC3-SHA", + new String[] { "SSL_RSA_WITH_3DES_EDE_CBC_SHA" }, KeyExchange.RSA, Authentication.RSA, Encryption.TRIPLE_DES, @@ -171,8 +177,9 @@ enum Cipher { 168), /* The DH ciphers */ // Cipher 0B - SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA("EXP-DH-DSS-DES-CBC-SHA", - null, + TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA( + "EXP-DH-DSS-DES-CBC-SHA", + new String[] { "SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA" }, KeyExchange.DHd, Authentication.DH, Encryption.DES, @@ -184,8 +191,9 @@ enum Cipher { 40, 56), // Cipher 0C - SSL_DH_DSS_WITH_DES_CBC_SHA("DH-DSS-DES-CBC-SHA", - null, + TLS_DH_DSS_WITH_DES_CBC_SHA( + "DH-DSS-DES-CBC-SHA", + new String[] { "SSL_DH_DSS_WITH_DES_CBC_SHA" }, KeyExchange.DHd, Authentication.DH, Encryption.DES, @@ -197,8 +205,9 @@ enum Cipher { 56, 56), // Cipher 0D - SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA("DH-DSS-DES-CBC3-SHA", - null, + TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA( + "DH-DSS-DES-CBC3-SHA", + new String[] { "SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA" }, KeyExchange.DHd, Authentication.DH, Encryption.TRIPLE_DES, @@ -210,8 +219,9 @@ enum Cipher { 168, 168), // Cipher 0E - SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA("EXP-DH-RSA-DES-CBC-SHA", - null, + TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA( + "EXP-DH-RSA-DES-CBC-SHA", + new String[] { "SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA" }, KeyExchange.DHr, Authentication.DH, Encryption.DES, @@ -223,8 +233,9 @@ enum Cipher { 40, 56), // Cipher 0F - SSL_DH_RSA_WITH_DES_CBC_SHA("DH-RSA-DES-CBC-SHA", - null, + TLS_DH_RSA_WITH_DES_CBC_SHA( + "DH-RSA-DES-CBC-SHA", + new String[] { "SSL_DH_RSA_WITH_DES_CBC_SHA" }, KeyExchange.DHr, Authentication.DH, Encryption.DES, @@ -236,8 +247,9 @@ enum Cipher { 56, 56), // Cipher 10 - SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA("DH-RSA-DES-CBC3-SHA", - null, + TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA( + "DH-RSA-DES-CBC3-SHA", + new String[] { "SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA" }, KeyExchange.DHr, Authentication.DH, Encryption.TRIPLE_DES, @@ -250,8 +262,9 @@ enum Cipher { 168), /* The Ephemeral DH ciphers */ // Cipher 11 - SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA("EXP-EDH-DSS-DES-CBC-SHA", - null, + TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA( + "EXP-EDH-DSS-DES-CBC-SHA", + new String[] { "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA" }, KeyExchange.EDH, Authentication.DSS, Encryption.DES, @@ -263,8 +276,9 @@ enum Cipher { 40, 56), // Cipher 12 - SSL_DHE_DSS_WITH_DES_CBC_SHA("EDH-DSS-DES-CBC-SHA", - null, + TLS_DHE_DSS_WITH_DES_CBC_SHA( + "EDH-DSS-DES-CBC-SHA", + new String[] { "SSL_DHE_DSS_WITH_DES_CBC_SHA" }, KeyExchange.EDH, Authentication.DSS, Encryption.DES, @@ -276,8 +290,9 @@ enum Cipher { 56, 56), // Cipher 13 - SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA("EDH-DSS-DES-CBC3-SHA", - null, + TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA( + "EDH-DSS-DES-CBC3-SHA", + new String[] { "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA" }, KeyExchange.EDH, Authentication.DSS, Encryption.TRIPLE_DES, @@ -289,7 +304,8 @@ enum Cipher { 168, 168), // Cipher 14 - TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA("EXP-EDH-RSA-DES-CBC-SHA", + TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA( + "EXP-EDH-RSA-DES-CBC-SHA", new String[] { "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA" }, KeyExchange.EDH, Authentication.RSA, @@ -302,7 +318,8 @@ enum Cipher { 40, 56), // Cipher 15 - TLS_DHE_RSA_WITH_DES_CBC_SHA("EDH-RSA-DES-CBC-SHA", + TLS_DHE_RSA_WITH_DES_CBC_SHA( + "EDH-RSA-DES-CBC-SHA", new String[] { "SSL_DHE_RSA_WITH_DES_CBC_SHA" }, KeyExchange.EDH, Authentication.RSA, @@ -315,7 +332,8 @@ enum Cipher { 56, 56), // Cipher 16 - TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA("EDH-RSA-DES-CBC3-SHA", + TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA( + "EDH-RSA-DES-CBC3-SHA", new String[] { "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA" }, KeyExchange.EDH, Authentication.RSA, @@ -328,7 +346,8 @@ enum Cipher { 168, 168), // Cipher 17 - TLS_DH_anon_EXPORT_WITH_RC4_40_MD5("EXP-ADH-RC4-MD5", + TLS_DH_anon_EXPORT_WITH_RC4_40_MD5( + "EXP-ADH-RC4-MD5", new String[] { "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5" }, KeyExchange.EDH, Authentication.aNULL, @@ -341,7 +360,8 @@ enum Cipher { 40, 128), // Cipher 18 - TLS_DH_anon_WITH_RC4_128_MD5("ADH-RC4-MD5", + TLS_DH_anon_WITH_RC4_128_MD5( + "ADH-RC4-MD5", new String[] { "SSL_DH_anon_WITH_RC4_128_MD5" }, KeyExchange.EDH, Authentication.aNULL, @@ -354,7 +374,8 @@ enum Cipher { 128, 128), // Cipher 19 - TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA("EXP-ADH-DES-CBC-SHA", + TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA( + "EXP-ADH-DES-CBC-SHA", new String[] { "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA" }, KeyExchange.EDH, Authentication.aNULL, @@ -367,7 +388,8 @@ enum Cipher { 40, 128), // Cipher 1A - TLS_DH_anon_WITH_DES_CBC_SHA("ADH-DES-CBC-SHA", + TLS_DH_anon_WITH_DES_CBC_SHA( + "ADH-DES-CBC-SHA", new String[] { "SSL_DH_anon_WITH_DES_CBC_SHA" }, KeyExchange.EDH, Authentication.aNULL, @@ -380,7 +402,8 @@ enum Cipher { 56, 56), // Cipher 1B - TLS_DH_anon_WITH_3DES_EDE_CBC_SHA("ADH-DES-CBC3-SHA", + TLS_DH_anon_WITH_3DES_EDE_CBC_SHA( + "ADH-DES-CBC3-SHA", new String[] { "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA" }, KeyExchange.EDH, Authentication.aNULL, @@ -393,8 +416,8 @@ enum Cipher { 168, 168), /* Fortezza ciphersuite from SSL 3.0 spec */ - // Cipher 1C - SSL_FORTEZZA_DMS_WITH_NULL_SHA("FZA-NULL-SHA", + SSL_FORTEZZA_DMS_WITH_NULL_SHA( + "FZA-NULL-SHA", null, KeyExchange.FZA, Authentication.FZA, @@ -406,8 +429,8 @@ enum Cipher { false, 0, 0), - // Cipher 1D - SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA("FZA-FZA-CBC-SHA", + SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA( + "FZA-FZA-CBC-SHA", null, KeyExchange.FZA, Authentication.FZA, @@ -419,8 +442,8 @@ enum Cipher { false, 0, 0), - // Cipher 1E - SSL_FORTEZZA_DMS_WITH_RC4_128_SHA("FZA-RC4-SHA", + SSL_FORTEZZA_DMS_WITH_RC4_128_SHA( + "FZA-RC4-SHA", null, KeyExchange.FZA, Authentication.FZA, @@ -434,7 +457,8 @@ enum Cipher { 128), /* The Kerberos ciphers*/ // Cipher 1E - /*TLS_KRB5_WITH_DES_CBC_SHA("KRB5-DES-CBC-SHA", + /*TLS_KRB5_WITH_DES_CBC_SHA( + "KRB5-DES-CBC-SHA", null, KeyExchange.KRB5, Authentication.KRB5, @@ -447,7 +471,8 @@ enum Cipher { 56, 56), // Cipher 1F - TLS_KRB5_WITH_3DES_EDE_CBC_SHA("KRB5-DES-CBC3-SHA", + TLS_KRB5_WITH_3DES_EDE_CBC_SHA( + "KRB5-DES-CBC3-SHA", null, KeyExchange.KRB5, Authentication.KRB5, @@ -460,7 +485,8 @@ enum Cipher { 168, 168), // Cipher 20 - TLS_KRB5_WITH_RC4_128_SHA("KRB5-RC4-SHA", + TLS_KRB5_WITH_RC4_128_SHA( + "KRB5-RC4-SHA", null, KeyExchange.KRB5, Authentication.KRB5, @@ -473,7 +499,8 @@ enum Cipher { 128, 128), // Cipher 21 - TLS_KRB5_WITH_IDEA_CBC_SHA("KRB5-IDEA-CBC-SHA", + TLS_KRB5_WITH_IDEA_CBC_SHA( + "KRB5-IDEA-CBC-SHA", null, KeyExchange.KRB5, Authentication.KRB5, @@ -486,7 +513,8 @@ enum Cipher { 128, 128), // Cipher 22 - TLS_KRB5_WITH_DES_CBC_MD5("KRB5-DES-CBC-MD5", + TLS_KRB5_WITH_DES_CBC_MD5( + "KRB5-DES-CBC-MD5", null, KeyExchange.KRB5, Authentication.KRB5, @@ -499,7 +527,8 @@ enum Cipher { 56, 56), // Cipher 23 - TLS_KRB5_WITH_3DES_EDE_CBC_MD5("KRB5-DES-CBC3-MD5", + TLS_KRB5_WITH_3DES_EDE_CBC_MD5( + "KRB5-DES-CBC3-MD5", null, KeyExchange.KRB5, Authentication.KRB5, @@ -512,7 +541,8 @@ enum Cipher { 168, 168), // Cipher 24 - TLS_KRB5_WITH_RC4_128_MD5("KRB5-RC4-MD5", + TLS_KRB5_WITH_RC4_128_MD5( + "KRB5-RC4-MD5", null, KeyExchange.KRB5, Authentication.KRB5, @@ -525,7 +555,8 @@ enum Cipher { 128, 128), // Cipher 25 - TLS_KRB5_WITH_IDEA_CBC_MD5("KRB5-IDEA-CBC-MD5", + TLS_KRB5_WITH_IDEA_CBC_MD5( + "KRB5-IDEA-CBC-MD5", null, KeyExchange.KRB5, Authentication.KRB5, @@ -538,7 +569,8 @@ enum Cipher { 128, 128), // Cipher 26 - TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA("EXP-KRB5-DES-CBC-SHA", + TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA( + "EXP-KRB5-DES-CBC-SHA", null, KeyExchange.KRB5, Authentication.KRB5, @@ -551,7 +583,8 @@ enum Cipher { 40, 56), // Cipher 27 - TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA("EXP-KRB5-RC2-CBC-SHA", + TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA( + "EXP-KRB5-RC2-CBC-SHA", null, KeyExchange.KRB5, Authentication.KRB5, @@ -564,7 +597,8 @@ enum Cipher { 40, 128), // Cipher 28 - TLS_KRB5_EXPORT_WITH_RC4_40_SHA("EXP-KRB5-RC4-SHA", + TLS_KRB5_EXPORT_WITH_RC4_40_SHA( + "EXP-KRB5-RC4-SHA", null, KeyExchange.KRB5, Authentication.KRB5, @@ -577,7 +611,8 @@ enum Cipher { 40, 128), // Cipher 29 - TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5("EXP-KRB5-DES-CBC-MD5", + TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5( + "EXP-KRB5-DES-CBC-MD5", null, KeyExchange.KRB5, Authentication.KRB5, @@ -590,7 +625,8 @@ enum Cipher { 40, 56), // Cipher 2A - TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5("EXP-KRB5-RC2-CBC-MD5", + TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5( + "EXP-KRB5-RC2-CBC-MD5", null, KeyExchange.KRB5, Authentication.KRB5, @@ -603,7 +639,8 @@ enum Cipher { 40, 128), // Cipher 2B - TLS_KRB5_EXPORT_WITH_RC4_40_MD5("EXP-KRB5-RC4-MD5", + TLS_KRB5_EXPORT_WITH_RC4_40_MD5( + "EXP-KRB5-RC4-MD5", null, KeyExchange.KRB5, Authentication.KRB5, @@ -617,7 +654,8 @@ enum Cipher { 128),*/ /* New AES ciphersuites */ // Cipher 2F - TLS_RSA_WITH_AES_128_CBC_SHA("AES128-SHA", + TLS_RSA_WITH_AES_128_CBC_SHA( + "AES128-SHA", null, KeyExchange.RSA, Authentication.RSA, @@ -630,7 +668,8 @@ enum Cipher { 128, 128), // Cipher 30 - TLS_DH_DSS_WITH_AES_128_CBC_SHA("DH-DSS-AES128-SHA", + TLS_DH_DSS_WITH_AES_128_CBC_SHA( + "DH-DSS-AES128-SHA", null, KeyExchange.DHd, Authentication.DH, @@ -643,7 +682,8 @@ enum Cipher { 128, 128), // Cipher 31 - TLS_DH_RSA_WITH_AES_128_CBC_SHA("DH-RSA-AES128-SHA", + TLS_DH_RSA_WITH_AES_128_CBC_SHA( + "DH-RSA-AES128-SHA", null, KeyExchange.DHr, Authentication.DH, @@ -656,7 +696,8 @@ enum Cipher { 128, 128), // Cipher 32 - TLS_DHE_DSS_WITH_AES_128_CBC_SHA("DHE-DSS-AES128-SHA", + TLS_DHE_DSS_WITH_AES_128_CBC_SHA( + "DHE-DSS-AES128-SHA", null, KeyExchange.EDH, Authentication.DSS, @@ -669,7 +710,8 @@ enum Cipher { 128, 128), // Cipher 33 - TLS_DHE_RSA_WITH_AES_128_CBC_SHA("DHE-RSA-AES128-SHA", + TLS_DHE_RSA_WITH_AES_128_CBC_SHA( + "DHE-RSA-AES128-SHA", null, KeyExchange.EDH, Authentication.RSA, @@ -682,7 +724,8 @@ enum Cipher { 128, 128), // Cipher 34 - TLS_DH_anon_WITH_AES_128_CBC_SHA("ADH-AES128-SHA", + TLS_DH_anon_WITH_AES_128_CBC_SHA( + "ADH-AES128-SHA", null, KeyExchange.EDH, Authentication.aNULL, @@ -695,7 +738,8 @@ enum Cipher { 128, 128), // Cipher 35 - TLS_RSA_WITH_AES_256_CBC_SHA("AES256-SHA", + TLS_RSA_WITH_AES_256_CBC_SHA( + "AES256-SHA", null, KeyExchange.RSA, Authentication.RSA, @@ -708,7 +752,8 @@ enum Cipher { 256, 256), // Cipher 36 - TLS_DH_DSS_WITH_AES_256_CBC_SHA("DH-DSS-AES256-SHA", + TLS_DH_DSS_WITH_AES_256_CBC_SHA( + "DH-DSS-AES256-SHA", null, KeyExchange.DHd, Authentication.DH, @@ -721,7 +766,8 @@ enum Cipher { 256, 256), // Cipher 37 - TLS_DH_RSA_WITH_AES_256_CBC_SHA("DH-RSA-AES256-SHA", + TLS_DH_RSA_WITH_AES_256_CBC_SHA( + "DH-RSA-AES256-SHA", null, KeyExchange.DHr, Authentication.DH, @@ -734,7 +780,8 @@ enum Cipher { 256, 256), // Cipher 38 - TLS_DHE_DSS_WITH_AES_256_CBC_SHA("DHE-DSS-AES256-SHA", + TLS_DHE_DSS_WITH_AES_256_CBC_SHA( + "DHE-DSS-AES256-SHA", null, KeyExchange.EDH, Authentication.DSS, @@ -747,7 +794,8 @@ enum Cipher { 256, 256), // Cipher 39 - TLS_DHE_RSA_WITH_AES_256_CBC_SHA("DHE-RSA-AES256-SHA", + TLS_DHE_RSA_WITH_AES_256_CBC_SHA( + "DHE-RSA-AES256-SHA", null, KeyExchange.EDH, Authentication.RSA, @@ -759,7 +807,8 @@ enum Cipher { true, 256, 256), // Cipher 3A - TLS_DH_anon_WITH_AES_256_CBC_SHA("ADH-AES256-SHA", + TLS_DH_anon_WITH_AES_256_CBC_SHA( + "ADH-AES256-SHA", null, KeyExchange.EDH, Authentication.aNULL, @@ -773,7 +822,8 @@ enum Cipher { 256), /* TLS v1.2 ciphersuites */ // Cipher 3B - TLS_RSA_WITH_NULL_SHA256("NULL-SHA256", + TLS_RSA_WITH_NULL_SHA256( + "NULL-SHA256", null, KeyExchange.RSA, Authentication.RSA, @@ -786,7 +836,8 @@ enum Cipher { 0, 0), // Cipher 3C - TLS_RSA_WITH_AES_128_CBC_SHA256("AES128-SHA256", + TLS_RSA_WITH_AES_128_CBC_SHA256( + "AES128-SHA256", null, KeyExchange.RSA, Authentication.RSA, @@ -799,7 +850,8 @@ enum Cipher { 128, 128), // Cipher 3D - TLS_RSA_WITH_AES_256_CBC_SHA256("AES256-SHA256", + TLS_RSA_WITH_AES_256_CBC_SHA256( + "AES256-SHA256", null, KeyExchange.RSA, Authentication.RSA, @@ -812,7 +864,8 @@ enum Cipher { 256, 256), // Cipher 3E - TLS_DH_DSS_WITH_AES_128_CBC_SHA256("DH-DSS-AES128-SHA256", + TLS_DH_DSS_WITH_AES_128_CBC_SHA256( + "DH-DSS-AES128-SHA256", null, KeyExchange.DHd, Authentication.DH, @@ -825,7 +878,8 @@ enum Cipher { 128, 128), // Cipher 3F - TLS_DH_RSA_WITH_AES_128_CBC_SHA256("DH-RSA-AES128-SHA256", + TLS_DH_RSA_WITH_AES_128_CBC_SHA256( + "DH-RSA-AES128-SHA256", null, KeyExchange.DHr, Authentication.DH, @@ -838,7 +892,8 @@ enum Cipher { 128, 128), // Cipher 40 - TLS_DHE_DSS_WITH_AES_128_CBC_SHA256("DHE-DSS-AES128-SHA256", + TLS_DHE_DSS_WITH_AES_128_CBC_SHA256( + "DHE-DSS-AES128-SHA256", null, KeyExchange.EDH, Authentication.DSS, @@ -850,9 +905,11 @@ enum Cipher { true, 128, 128), - /* Camellia ciphersuites from RFC4132 (128-bit portion) */ + /* Camellia ciphersuites from RFC4132 ( + 128-bit portion) */ // Cipher 41 - TLS_RSA_WITH_CAMELLIA_128_CBC_SHA("CAMELLIA128-SHA", + TLS_RSA_WITH_CAMELLIA_128_CBC_SHA( + "CAMELLIA128-SHA", null, KeyExchange.RSA, Authentication.RSA, @@ -865,7 +922,8 @@ enum Cipher { 128, 128), // Cipher 42 - TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA("DH-DSS-CAMELLIA128-SHA", + TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA( + "DH-DSS-CAMELLIA128-SHA", null, KeyExchange.DHd, Authentication.DH, @@ -878,7 +936,8 @@ enum Cipher { 128, 128), // Cipher 43 - TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA("DH-RSA-CAMELLIA128-SHA", + TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA( + "DH-RSA-CAMELLIA128-SHA", null, KeyExchange.DHr, Authentication.DH, @@ -891,7 +950,8 @@ enum Cipher { 128, 128), // Cipher 44 - TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA("DHE-DSS-CAMELLIA128-SHA", + TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA( + "DHE-DSS-CAMELLIA128-SHA", null, KeyExchange.EDH, Authentication.DSS, @@ -904,7 +964,8 @@ enum Cipher { 128, 128), // Cipher 45 - TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA("DHE-RSA-CAMELLIA128-SHA", + TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA( + "DHE-RSA-CAMELLIA128-SHA", null, KeyExchange.EDH, Authentication.RSA, @@ -917,7 +978,8 @@ enum Cipher { 128, 128), // Cipher 46 - TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA("ADH-CAMELLIA128-SHA", + TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA( + "ADH-CAMELLIA128-SHA", null, KeyExchange.EDH, Authentication.aNULL, @@ -931,8 +993,9 @@ enum Cipher { 128), /* New TLS Export CipherSuites from expired ID */ // Cipher 60 - SSL_RSA_EXPORT1024_WITH_RC4_56_MD5("EXP1024-RC4-MD5", - null, + TLS_RSA_EXPORT1024_WITH_RC4_56_MD5( + "EXP1024-RC4-MD5", + new String[] { "SSL_RSA_EXPORT1024_WITH_RC4_56_MD5" }, KeyExchange.RSA, Authentication.RSA, Encryption.RC4, @@ -944,8 +1007,9 @@ enum Cipher { 56, 128), // Cipher 61 - SSL_RSA_EXPORT1024_WITH_RC2_CBC_56_MD("EXP1024-RC2-CBC-MD5", - null, + TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5( + "EXP1024-RC2-CBC-MD5", + new String[] { "SSL_RSA_EXPORT1024_WITH_RC2_CBC_56_MD" }, KeyExchange.RSA, Authentication.RSA, Encryption.RC2, @@ -957,8 +1021,9 @@ enum Cipher { 56, 128), // Cipher 62 - SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA("EXP1024-DES-CBC-SHA", - null, + TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA( + "EXP1024-DES-CBC-SHA", + new String[] { "SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA" }, KeyExchange.RSA, Authentication.RSA, Encryption.DES, @@ -970,8 +1035,9 @@ enum Cipher { 56, 56), // Cipher 63 - SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA("EXP1024-DHE-DSS-DES-CBC-SHA", - null, + TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA( + "EXP1024-DHE-DSS-DES-CBC-SHA", + new String[] { "SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA" }, KeyExchange.EDH, Authentication.DSS, Encryption.DES, @@ -983,8 +1049,9 @@ enum Cipher { 56, 56), // Cipher 64 - SSL_RSA_EXPORT1024_WITH_RC4_56_SHA("EXP1024-RC4-SHA", - null, + TLS_RSA_EXPORT1024_WITH_RC4_56_SHA( + "EXP1024-RC4-SHA", + new String[] { "SSL_RSA_EXPORT1024_WITH_RC4_56_SHA" }, KeyExchange.RSA, Authentication.RSA, Encryption.RC4, @@ -996,8 +1063,9 @@ enum Cipher { 56, 128), // Cipher 65 - SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA("EXP1024-DHE-DSS-RC4-SHA", - null, + TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA( + "EXP1024-DHE-DSS-RC4-SHA", + new String[] { "SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA" }, KeyExchange.EDH, Authentication.DSS, Encryption.RC4, @@ -1009,8 +1077,9 @@ enum Cipher { 56, 128), // Cipher 66 - SSL_DHE_DSS_WITH_RC4_128_SHA("DHE-DSS-RC4-SHA", - null, + TLS_DHE_DSS_WITH_RC4_128_SHA( + "DHE-DSS-RC4-SHA", + new String[] { "SSL_DHE_DSS_WITH_RC4_128_SHA" }, KeyExchange.EDH, Authentication.DSS, Encryption.RC4, @@ -1023,7 +1092,8 @@ enum Cipher { 128), /* TLS v1.2 ciphersuites */ // Cipher 67 - TLS_DHE_RSA_WITH_AES_128_CBC_SHA256("DHE-RSA-AES128-SHA256", + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256( + "DHE-RSA-AES128-SHA256", null, KeyExchange.EDH, Authentication.RSA, @@ -1036,7 +1106,8 @@ enum Cipher { 128, 128), // Cipher 68 - TLS_DH_DSS_WITH_AES_256_CBC_SHA256("DH-DSS-AES256-SHA256", + TLS_DH_DSS_WITH_AES_256_CBC_SHA256( + "DH-DSS-AES256-SHA256", null, KeyExchange.DHd, Authentication.DH, @@ -1049,7 +1120,8 @@ enum Cipher { 256, 256), // Cipher 69 - TLS_DH_RSA_WITH_AES_256_CBC_SHA256("DH-RSA-AES256-SHA256", + TLS_DH_RSA_WITH_AES_256_CBC_SHA256( + "DH-RSA-AES256-SHA256", null, KeyExchange.DHr, Authentication.DH, @@ -1062,7 +1134,8 @@ enum Cipher { 256, 256), // Cipher 6A - TLS_DHE_DSS_WITH_AES_256_CBC_SHA256("DHE-DSS-AES256-SHA256", + TLS_DHE_DSS_WITH_AES_256_CBC_SHA256( + "DHE-DSS-AES256-SHA256", null, KeyExchange.EDH, Authentication.DSS, @@ -1075,7 +1148,8 @@ enum Cipher { 256, 256), // Cipher 6B - TLS_DHE_RSA_WITH_AES_256_CBC_SHA256("DHE-RSA-AES256-SHA256", + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256( + "DHE-RSA-AES256-SHA256", null, KeyExchange.EDH, Authentication.RSA, @@ -1088,7 +1162,8 @@ enum Cipher { 256, 256), // Cipher 6C - TLS_DH_anon_WITH_AES_128_CBC_SHA256("ADH-AES128-SHA256", + TLS_DH_anon_WITH_AES_128_CBC_SHA256( + "ADH-AES128-SHA256", null, KeyExchange.EDH, Authentication.aNULL, @@ -1102,7 +1177,8 @@ enum Cipher { 128 ), // Cipher 6D - TLS_DH_anon_WITH_AES_256_CBC_SHA256("ADH-AES256-SHA256", + TLS_DH_anon_WITH_AES_256_CBC_SHA256( + "ADH-AES256-SHA256", null, KeyExchange.EDH, Authentication.aNULL, @@ -1115,7 +1191,9 @@ enum Cipher { 256, 256), /* GOST Ciphersuites */ - TLS_GOSTR341094_WITH_28147_CNT_IMIT("GOST94-GOST89-GOST89", + /* + TLS_GOSTR341094_WITH_28147_CNT_IMIT( + "GOST94-GOST89-GOST89", null, KeyExchange.GOST, Authentication.GOST94, @@ -1127,7 +1205,8 @@ enum Cipher { false, 256, 256), - TLS_GOSTR341001_WITH_28147_CNT_IMIT("GOST2001-GOST89-GOST89", + TLS_GOSTR341001_WITH_28147_CNT_IMIT( + "GOST2001-GOST89-GOST89", null, KeyExchange.GOST, Authentication.GOST01, @@ -1139,7 +1218,8 @@ enum Cipher { false, 256, 256), - TLS_GOSTR341094_WITH_NULL_GOSTR3411("GOST94-NULL-GOST94", + TLS_GOSTR341094_WITH_NULL_GOSTR3411( + "GOST94-NULL-GOST94", null, KeyExchange.GOST, Authentication.GOST94, @@ -1151,7 +1231,8 @@ enum Cipher { false, 0, 0), - TLS_GOSTR341001_WITH_NULL_GOSTR3411("GOST2001-NULL-GOST94", + TLS_GOSTR341001_WITH_NULL_GOSTR3411( + "GOST2001-NULL-GOST94", null, KeyExchange.GOST, Authentication.GOST01, @@ -1162,10 +1243,12 @@ enum Cipher { EncryptionLevel.STRONG_NONE, false, 0, - 0), - /* Camellia ciphersuites from RFC4132 (256-bit portion) */ + 0),*/ + /* Camellia ciphersuites from RFC4132 ( + 256-bit portion) */ // Cipher 84 - TLS_RSA_WITH_CAMELLIA_256_CBC_SHA("CAMELLIA256-SHA", + TLS_RSA_WITH_CAMELLIA_256_CBC_SHA( + "CAMELLIA256-SHA", null, KeyExchange.RSA, Authentication.RSA, @@ -1178,7 +1261,8 @@ enum Cipher { 256, 256), // Cipher 85 - TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA("DH-DSS-CAMELLIA256-SHA", + TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA( + "DH-DSS-CAMELLIA256-SHA", null, KeyExchange.DHd, Authentication.DH, @@ -1191,7 +1275,8 @@ enum Cipher { 256, 256), // Cipher 86 - TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SH("DH-RSA-CAMELLIA256-SHA", + TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA( + "DH-RSA-CAMELLIA256-SHA", null, KeyExchange.DHr, Authentication.DH, @@ -1204,7 +1289,8 @@ enum Cipher { 256, 256), // Cipher 87 - TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA("DHE-DSS-CAMELLIA256-SHA", + TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA( + "DHE-DSS-CAMELLIA256-SHA", null, KeyExchange.EDH, Authentication.DSS, @@ -1217,7 +1303,8 @@ enum Cipher { 256, 256), // Cipher 88 - TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA("DHE-RSA-CAMELLIA256-SHA", + TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA( + "DHE-RSA-CAMELLIA256-SHA", null, KeyExchange.EDH, Authentication.RSA, @@ -1229,7 +1316,8 @@ enum Cipher { false, 256, 256), // Cipher 89 - TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA("ADH-CAMELLIA256-SHA", + TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA( + "ADH-CAMELLIA256-SHA", null, KeyExchange.EDH, Authentication.aNULL, @@ -1242,7 +1330,8 @@ enum Cipher { 256, 256), // Cipher 8A - TLS_PSK_WITH_RC4_128_SHA("PSK-RC4-SHA", + TLS_PSK_WITH_RC4_128_SHA( + "PSK-RC4-SHA", null, KeyExchange.PSK, Authentication.PSK, @@ -1255,7 +1344,8 @@ enum Cipher { 128, 128), // Cipher 8B - TLS_PSK_WITH_3DES_EDE_CBC_SHA("PSK-3DES-EDE-CBC-SHA", + TLS_PSK_WITH_3DES_EDE_CBC_SHA( + "PSK-3DES-EDE-CBC-SHA", null, KeyExchange.PSK, Authentication.PSK, @@ -1269,7 +1359,8 @@ enum Cipher { 168 ), // Cipher 8C - TLS_PSK_WITH_AES_128_CBC_SHA("PSK-AES128-CBC-SHA", + TLS_PSK_WITH_AES_128_CBC_SHA( + "PSK-AES128-CBC-SHA", null, KeyExchange.PSK, Authentication.PSK, @@ -1283,7 +1374,8 @@ enum Cipher { 128 ), // Cipher 8D - TLS_PSK_WITH_AES_256_CBC_SHA("PSK-AES256-CBC-SHA", + TLS_PSK_WITH_AES_256_CBC_SHA( + "PSK-AES256-CBC-SHA", null, KeyExchange.PSK, Authentication.PSK, @@ -1298,7 +1390,8 @@ enum Cipher { ), /* SEED ciphersuites from RFC4162 */ // Cipher 96 - TLS_RSA_WITH_SEED_CBC_SHA("SEED-SHA", + TLS_RSA_WITH_SEED_CBC_SHA( + "SEED-SHA", null, KeyExchange.RSA, Authentication.RSA, @@ -1312,7 +1405,8 @@ enum Cipher { 128 ), // Cipher 97 - TLS_DH_DSS_WITH_SEED_CBC_SHA("DH-DSS-SEED-SHA", + TLS_DH_DSS_WITH_SEED_CBC_SHA( + "DH-DSS-SEED-SHA", null, KeyExchange.DHd, Authentication.DH, @@ -1326,7 +1420,8 @@ enum Cipher { 128 ), // Cipher 98 - TLS_DH_RSA_WITH_SEED_CBC_SHA("DH-RSA-SEED-SHA", + TLS_DH_RSA_WITH_SEED_CBC_SHA( + "DH-RSA-SEED-SHA", null, KeyExchange.DHr, Authentication.DH, @@ -1340,7 +1435,8 @@ enum Cipher { 128 ), // Cipher 99 - TLS_DHE_DSS_WITH_SEED_CBC_SHA("DHE-DSS-SEED-SHA", + TLS_DHE_DSS_WITH_SEED_CBC_SHA( + "DHE-DSS-SEED-SHA", null, KeyExchange.EDH, Authentication.DSS, @@ -1354,7 +1450,8 @@ enum Cipher { 128 ), // Cipher 9A - TLS_DHE_RSA_WITH_SEED_CBC_SHA("DHE-RSA-SEED-SHA", + TLS_DHE_RSA_WITH_SEED_CBC_SHA( + "DHE-RSA-SEED-SHA", null, KeyExchange.EDH, Authentication.RSA, @@ -1368,7 +1465,8 @@ enum Cipher { 128 ), // Cipher 9B - TLS_DH_anon_WITH_SEED_CBC_SHA("ADH-SEED-SHA", + TLS_DH_anon_WITH_SEED_CBC_SHA( + "ADH-SEED-SHA", null, KeyExchange.EDH, Authentication.aNULL, @@ -1383,7 +1481,8 @@ enum Cipher { ), /* GCM ciphersuites from RFC5288 */ // Cipher 9C - TLS_RSA_WITH_AES_128_GCM_SHA256("AES128-GCM-SHA256", + TLS_RSA_WITH_AES_128_GCM_SHA256( + "AES128-GCM-SHA256", null, KeyExchange.RSA, Authentication.RSA, @@ -1397,7 +1496,8 @@ enum Cipher { 128 ), // Cipher 9D - TLS_RSA_WITH_AES_256_GCM_SHA384("AES256-GCM-SHA384", + TLS_RSA_WITH_AES_256_GCM_SHA384( + "AES256-GCM-SHA384", null, KeyExchange.RSA, Authentication.RSA, @@ -1411,7 +1511,8 @@ enum Cipher { 256 ), // Cipher 9E - TLS_DHE_RSA_WITH_AES_128_GCM_SHA256("DHE-RSA-AES128-GCM-SHA256", + TLS_DHE_RSA_WITH_AES_128_GCM_SHA256( + "DHE-RSA-AES128-GCM-SHA256", null, KeyExchange.EDH, Authentication.RSA, @@ -1425,7 +1526,8 @@ enum Cipher { 128 ), // Cipher 9F - TLS_DHE_RSA_WITH_AES_256_GCM_SHA384("DHE-RSA-AES256-GCM-SHA384", + TLS_DHE_RSA_WITH_AES_256_GCM_SHA384( + "DHE-RSA-AES256-GCM-SHA384", null, KeyExchange.EDH, Authentication.RSA, @@ -1439,7 +1541,8 @@ enum Cipher { 256 ), // Cipher A0 - TLS_DH_RSA_WITH_AES_128_GCM_SHA256("DH-RSA-AES128-GCM-SHA256", + TLS_DH_RSA_WITH_AES_128_GCM_SHA256( + "DH-RSA-AES128-GCM-SHA256", null, KeyExchange.DHr, Authentication.DH, @@ -1453,7 +1556,8 @@ enum Cipher { 128 ), // Cipher A1 - TLS_DH_RSA_WITH_AES_256_GCM_SHA384("DH-RSA-AES256-GCM-SHA384", + TLS_DH_RSA_WITH_AES_256_GCM_SHA384( + "DH-RSA-AES256-GCM-SHA384", null, KeyExchange.DHr, Authentication.DH, @@ -1467,7 +1571,8 @@ enum Cipher { 256 ), // Cipher A2 - TLS_DHE_DSS_WITH_AES_128_GCM_SHA256("DHE-DSS-AES128-GCM-SHA256", + TLS_DHE_DSS_WITH_AES_128_GCM_SHA256( + "DHE-DSS-AES128-GCM-SHA256", null, KeyExchange.EDH, Authentication.DSS, @@ -1481,7 +1586,8 @@ enum Cipher { 128 ), // Cipher A3 - TLS_DHE_DSS_WITH_AES_256_GCM_SHA384("DHE-DSS-AES256-GCM-SHA384", + TLS_DHE_DSS_WITH_AES_256_GCM_SHA384( + "DHE-DSS-AES256-GCM-SHA384", null, KeyExchange.EDH, Authentication.DSS, @@ -1495,7 +1601,8 @@ enum Cipher { 256 ), // Cipher A4 - TLS_DH_DSS_WITH_AES_128_GCM_SHA256("DH-DSS-AES128-GCM-SHA256", + TLS_DH_DSS_WITH_AES_128_GCM_SHA256( + "DH-DSS-AES128-GCM-SHA256", null, KeyExchange.DHd, Authentication.DH, @@ -1509,7 +1616,8 @@ enum Cipher { 128 ), // Cipher A5 - TLS_DH_DSS_WITH_AES_256_GCM_SHA384("DH-DSS-AES256-GCM-SHA384", + TLS_DH_DSS_WITH_AES_256_GCM_SHA384( + "DH-DSS-AES256-GCM-SHA384", null, KeyExchange.DHd, Authentication.DH, @@ -1523,7 +1631,8 @@ enum Cipher { 256 ), // Cipher A6 - TLS_DH_anon_WITH_AES_128_GCM_SHA256("ADH-AES128-GCM-SHA256", + TLS_DH_anon_WITH_AES_128_GCM_SHA256( + "ADH-AES128-GCM-SHA256", null, KeyExchange.EDH, Authentication.aNULL, @@ -1537,7 +1646,8 @@ enum Cipher { 128 ), // Cipher A7 - TLS_DH_anon_WITH_AES_256_GCM_SHA384("ADH-AES256-GCM-SHA384", + TLS_DH_anon_WITH_AES_256_GCM_SHA384( + "ADH-AES256-GCM-SHA384", null, KeyExchange.EDH, Authentication.aNULL, @@ -1550,9 +1660,11 @@ enum Cipher { 256, 256 ), - /* ECC ciphersuites from draft-ietf-tls-ecc-01.txt (Mar 15, 2001) */ + /* ECC ciphersuites from draft-ietf-tls-ecc-01.txt ( + Mar 15, 2001) */ // Cipher C001 - TLS_ECDH_ECDSA_WITH_NULL_SHA("ECDH-ECDSA-NULL-SHA", + TLS_ECDH_ECDSA_WITH_NULL_SHA( + "ECDH-ECDSA-NULL-SHA", null, KeyExchange.ECDHe, Authentication.ECDH, @@ -1566,7 +1678,8 @@ enum Cipher { 0 ), // Cipher C002 - TLS_ECDH_ECDSA_WITH_RC4_128_SHA("ECDH-ECDSA-RC4-SHA", + TLS_ECDH_ECDSA_WITH_RC4_128_SHA( + "ECDH-ECDSA-RC4-SHA", null, KeyExchange.ECDHe, Authentication.ECDH, @@ -1580,7 +1693,8 @@ enum Cipher { 128 ), // Cipher C003 - TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA("ECDH-ECDSA-DES-CBC3-SHA", + TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA( + "ECDH-ECDSA-DES-CBC3-SHA", null, KeyExchange.ECDHe, Authentication.ECDH, @@ -1594,7 +1708,8 @@ enum Cipher { 168 ), // Cipher C004 - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA("ECDH-ECDSA-AES128-SHA", + TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA( + "ECDH-ECDSA-AES128-SHA", null, KeyExchange.ECDHe, Authentication.ECDH, @@ -1608,7 +1723,8 @@ enum Cipher { 128 ), // Cipher C005 - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA("ECDH-ECDSA-AES256-SHA", + TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA( + "ECDH-ECDSA-AES256-SHA", null, KeyExchange.ECDHe, Authentication.ECDH, @@ -1622,7 +1738,8 @@ enum Cipher { 256 ), // Cipher C006 - TLS_ECDHE_ECDSA_WITH_NULL_SHA("ECDHE-ECDSA-NULL-SHA", + TLS_ECDHE_ECDSA_WITH_NULL_SHA( + "ECDHE-ECDSA-NULL-SHA", null, KeyExchange.EECDH, Authentication.ECDSA, @@ -1636,7 +1753,8 @@ enum Cipher { 0 ), // Cipher C007 - TLS_ECDHE_ECDSA_WITH_RC4_128_SHA("ECDHE-ECDSA-RC4-SHA", + TLS_ECDHE_ECDSA_WITH_RC4_128_SHA( + "ECDHE-ECDSA-RC4-SHA", null, KeyExchange.EECDH, Authentication.ECDSA, @@ -1650,7 +1768,8 @@ enum Cipher { 128 ), // Cipher C008 - TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA("ECDHE-ECDSA-DES-CBC3-SHA", + TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA( + "ECDHE-ECDSA-DES-CBC3-SHA", null, KeyExchange.EECDH, Authentication.ECDSA, @@ -1664,7 +1783,8 @@ enum Cipher { 168 ), // Cipher C009 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA("ECDHE-ECDSA-AES128-SHA", + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA( + "ECDHE-ECDSA-AES128-SHA", null, KeyExchange.EECDH, Authentication.ECDSA, @@ -1678,7 +1798,8 @@ enum Cipher { 128 ), // Cipher C00A - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA("ECDHE-ECDSA-AES256-SHA", + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA( + "ECDHE-ECDSA-AES256-SHA", null, KeyExchange.EECDH, Authentication.ECDSA, @@ -1692,7 +1813,8 @@ enum Cipher { 256 ), // Cipher C00B - TLS_ECDH_RSA_WITH_NULL_SHA("ECDH-RSA-NULL-SHA", + TLS_ECDH_RSA_WITH_NULL_SHA( + "ECDH-RSA-NULL-SHA", null, KeyExchange.ECDHr, Authentication.ECDH, @@ -1706,7 +1828,8 @@ enum Cipher { 0 ), // Cipher C00C - TLS_ECDH_RSA_WITH_RC4_128_SHA("ECDH-RSA-RC4-SHA", + TLS_ECDH_RSA_WITH_RC4_128_SHA( + "ECDH-RSA-RC4-SHA", null, KeyExchange.ECDHr, Authentication.ECDH, @@ -1720,7 +1843,8 @@ enum Cipher { 128 ), // Cipher C00D - TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA("ECDH-RSA-DES-CBC3-SHA", + TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA( + "ECDH-RSA-DES-CBC3-SHA", null, KeyExchange.ECDHr, Authentication.ECDH, @@ -1734,7 +1858,8 @@ enum Cipher { 168 ), // Cipher C00E - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA("ECDH-RSA-AES128-SHA", + TLS_ECDH_RSA_WITH_AES_128_CBC_SHA( + "ECDH-RSA-AES128-SHA", null, KeyExchange.ECDHr, Authentication.ECDH, @@ -1748,7 +1873,8 @@ enum Cipher { 128 ), // Cipher C00F - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA("ECDH-RSA-AES256-SHA", + TLS_ECDH_RSA_WITH_AES_256_CBC_SHA( + "ECDH-RSA-AES256-SHA", null, KeyExchange.ECDHr, Authentication.ECDH, @@ -1761,7 +1887,8 @@ enum Cipher { 256, 256 ), - TLS_ECDHE_RSA_WITH_NULL_SHA("ECDHE-RSA-NULL-SHA", + TLS_ECDHE_RSA_WITH_NULL_SHA( + "ECDHE-RSA-NULL-SHA", null, KeyExchange.EECDH, Authentication.RSA, @@ -1775,7 +1902,8 @@ enum Cipher { 0 ), // Cipher C011 - TLS_ECDHE_RSA_WITH_RC4_128_SHA("ECDHE-RSA-RC4-SHA", + TLS_ECDHE_RSA_WITH_RC4_128_SHA( + "ECDHE-RSA-RC4-SHA", null, KeyExchange.EECDH, Authentication.RSA, @@ -1789,7 +1917,8 @@ enum Cipher { 128 ), // Cipher C012 - TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA("ECDHE-RSA-DES-CBC3-SHA", + TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA( + "ECDHE-RSA-DES-CBC3-SHA", null, KeyExchange.EECDH, Authentication.RSA, @@ -1803,7 +1932,8 @@ enum Cipher { 168 ), // Cipher C013 - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA("ECDHE-RSA-AES128-SHA", + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA( + "ECDHE-RSA-AES128-SHA", null, KeyExchange.EECDH, Authentication.RSA, @@ -1817,7 +1947,8 @@ enum Cipher { 128 ), // Cipher C014 - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA("ECDHE-RSA-AES256-SHA", + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA( + "ECDHE-RSA-AES256-SHA", null, KeyExchange.EECDH, Authentication.RSA, @@ -1831,7 +1962,8 @@ enum Cipher { 256 ), // Cipher C015 - TLS_ECDH_anon_WITH_NULL_SHA("AECDH-NULL-SHA", + TLS_ECDH_anon_WITH_NULL_SHA( + "AECDH-NULL-SHA", null, KeyExchange.EECDH, Authentication.aNULL, @@ -1845,7 +1977,8 @@ enum Cipher { 0 ), // Cipher C016 - TLS_ECDH_anon_WITH_RC4_128_SHA("AECDH-RC4-SHA", + TLS_ECDH_anon_WITH_RC4_128_SHA( + "AECDH-RC4-SHA", null, KeyExchange.EECDH, Authentication.aNULL, @@ -1859,7 +1992,8 @@ enum Cipher { 128 ), // Cipher C017 - TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA("AECDH-DES-CBC3-SHA", + TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA( + "AECDH-DES-CBC3-SHA", null, KeyExchange.EECDH, Authentication.aNULL, @@ -1873,7 +2007,8 @@ enum Cipher { 168 ), // Cipher C018 - TLS_ECDH_anon_WITH_AES_128_CBC_SHA("AECDH-AES128-SHA", + TLS_ECDH_anon_WITH_AES_128_CBC_SHA( + "AECDH-AES128-SHA", null, KeyExchange.EECDH, Authentication.aNULL, @@ -1887,7 +2022,8 @@ enum Cipher { 128 ), // Cipher C019 - TLS_ECDH_anon_WITH_AES_256_CBC_SHA("AECDH-AES256-SHA", + TLS_ECDH_anon_WITH_AES_256_CBC_SHA( + "AECDH-AES256-SHA", null, KeyExchange.EECDH, Authentication.aNULL, @@ -1902,7 +2038,8 @@ enum Cipher { ), /* SRP ciphersuite from RFC 5054 */ // Cipher C01A - TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA("SRP-3DES-EDE-CBC-SHA", + TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA( + "SRP-3DES-EDE-CBC-SHA", null, KeyExchange.SRP, Authentication.aNULL, @@ -1916,7 +2053,8 @@ enum Cipher { 168 ), // Cipher C01B - TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA("SRP-RSA-3DES-EDE-CBC-SHA", + TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA( + "SRP-RSA-3DES-EDE-CBC-SHA", null, KeyExchange.SRP, Authentication.RSA, @@ -1930,7 +2068,8 @@ enum Cipher { 168 ), // Cipher C01C - TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA("SRP-DSS-3DES-EDE-CBC-SHA", + TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA( + "SRP-DSS-3DES-EDE-CBC-SHA", null, KeyExchange.SRP, Authentication.DSS, @@ -1944,7 +2083,8 @@ enum Cipher { 168 ), // Cipher C01D - TLS_SRP_SHA_WITH_AES_128_CBC_SHA("SRP-AES-128-CBC-SHA", + TLS_SRP_SHA_WITH_AES_128_CBC_SHA( + "SRP-AES-128-CBC-SHA", null, KeyExchange.SRP, Authentication.aNULL, @@ -1958,7 +2098,8 @@ enum Cipher { 128 ), // Cipher C01E - TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA("SRP-RSA-AES-128-CBC-SHA", + TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA( + "SRP-RSA-AES-128-CBC-SHA", null, KeyExchange.SRP, Authentication.RSA, @@ -1972,7 +2113,8 @@ enum Cipher { 128 ), // Cipher C01F - TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA("SRP-DSS-AES-128-CBC-SHA", + TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA( + "SRP-DSS-AES-128-CBC-SHA", null, KeyExchange.SRP, Authentication.DSS, @@ -1986,7 +2128,8 @@ enum Cipher { 128 ), // Cipher C020 - TLS_SRP_SHA_WITH_AES_256_CBC_SHA("SRP-AES-256-CBC-SHA", + TLS_SRP_SHA_WITH_AES_256_CBC_SHA( + "SRP-AES-256-CBC-SHA", null, KeyExchange.SRP, Authentication.aNULL, @@ -2000,7 +2143,8 @@ enum Cipher { 256 ), // Cipher C021 - TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA("SRP-RSA-AES-256-CBC-SHA", + TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA( + "SRP-RSA-AES-256-CBC-SHA", null, KeyExchange.SRP, Authentication.RSA, @@ -2014,7 +2158,8 @@ enum Cipher { 256 ), // Cipher C022 - TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA("SRP-DSS-AES-256-CBC-SHA", + TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA( + "SRP-DSS-AES-256-CBC-SHA", null, KeyExchange.SRP, Authentication.DSS, @@ -2029,7 +2174,8 @@ enum Cipher { ), /* HMAC based TLS v1.2 ciphersuites from RFC5289 */ // Cipher C023 - TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256("ECDHE-ECDSA-AES128-SHA256", + TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256( + "ECDHE-ECDSA-AES128-SHA256", null, KeyExchange.EECDH, Authentication.ECDSA, @@ -2043,7 +2189,8 @@ enum Cipher { 128 ), // Cipher C024 - TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384("ECDHE-ECDSA-AES256-SHA384", + TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384( + "ECDHE-ECDSA-AES256-SHA384", null, KeyExchange.EECDH, Authentication.ECDSA, @@ -2057,7 +2204,8 @@ enum Cipher { 256 ), // Cipher C025 - TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256("ECDH-ECDSA-AES128-SHA256", + TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256( + "ECDH-ECDSA-AES128-SHA256", null, KeyExchange.ECDHe, Authentication.ECDH, @@ -2071,7 +2219,8 @@ enum Cipher { 128 ), // Cipher C026 - TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384("ECDH-ECDSA-AES256-SHA384", + TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384( + "ECDH-ECDSA-AES256-SHA384", null, KeyExchange.ECDHe, Authentication.ECDH, @@ -2085,7 +2234,8 @@ enum Cipher { 256 ), // Cipher C027 - TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256("ECDHE-RSA-AES128-SHA256", + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256( + "ECDHE-RSA-AES128-SHA256", null, KeyExchange.EECDH, Authentication.RSA, @@ -2099,7 +2249,8 @@ enum Cipher { 128 ), // Cipher C028 - TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384("ECDHE-RSA-AES256-SHA384", + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384( + "ECDHE-RSA-AES256-SHA384", null, KeyExchange.EECDH, Authentication.RSA, @@ -2113,7 +2264,8 @@ enum Cipher { 256 ), // Cipher C029 - TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256("ECDH-RSA-AES128-SHA256", + TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256( + "ECDH-RSA-AES128-SHA256", null, KeyExchange.ECDHr, Authentication.ECDH, @@ -2127,7 +2279,8 @@ enum Cipher { 128 ), // Cipher C02A - TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384("ECDH-RSA-AES256-SHA384", + TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384( + "ECDH-RSA-AES256-SHA384", null, KeyExchange.ECDHr, Authentication.ECDH, @@ -2142,7 +2295,8 @@ enum Cipher { ), /* GCM based TLS v1.2 ciphersuites from RFC5289 */ // Cipher C02B - TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256("ECDHE-ECDSA-AES128-GCM-SHA256", + TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256( + "ECDHE-ECDSA-AES128-GCM-SHA256", null, KeyExchange.EECDH, Authentication.ECDSA, @@ -2156,7 +2310,8 @@ enum Cipher { 128 ), // Cipher C02C - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384("ECDHE-ECDSA-AES256-GCM-SHA384", + TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384( + "ECDHE-ECDSA-AES256-GCM-SHA384", null, KeyExchange.EECDH, Authentication.ECDSA, @@ -2170,7 +2325,8 @@ enum Cipher { 256 ), // Cipher C02D - TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256("ECDH-ECDSA-AES128-GCM-SHA256", + TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256( + "ECDH-ECDSA-AES128-GCM-SHA256", null, KeyExchange.ECDHe, Authentication.ECDH, @@ -2184,7 +2340,8 @@ enum Cipher { 128 ), // Cipher C02E - TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384("ECDH-ECDSA-AES256-GCM-SHA384", + TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384( + "ECDH-ECDSA-AES256-GCM-SHA384", null, KeyExchange.ECDHe, Authentication.ECDH, @@ -2198,7 +2355,8 @@ enum Cipher { 256 ), // Cipher C02F - TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256("ECDHE-RSA-AES128-GCM-SHA256", + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256( + "ECDHE-RSA-AES128-GCM-SHA256", null, KeyExchange.EECDH, Authentication.RSA, @@ -2212,7 +2370,8 @@ enum Cipher { 128 ), // Cipher C030 - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384("ECDHE-RSA-AES256-GCM-SHA384", + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384( + "ECDHE-RSA-AES256-GCM-SHA384", null, KeyExchange.EECDH, Authentication.RSA, @@ -2226,7 +2385,8 @@ enum Cipher { 256 ), // Cipher C031 - TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256("ECDH-RSA-AES128-GCM-SHA256", + TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256( + "ECDH-RSA-AES128-GCM-SHA256", null, KeyExchange.ECDHr, Authentication.ECDH, @@ -2240,7 +2400,8 @@ enum Cipher { 128 ), // Cipher C032 - TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384("ECDH-RSA-AES256-GCM-SHA384", + TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384( + "ECDH-RSA-AES256-GCM-SHA384", null, KeyExchange.ECDHr, Authentication.ECDH, @@ -2254,7 +2415,8 @@ enum Cipher { 256 ), // RC4_128_WITH_MD5 - SSL_CK_RC4_128_WITH_MD5("RC4-MD5", + SSL_CK_RC4_128_WITH_MD5( + "RC4-MD5", null, KeyExchange.RSA, Authentication.RSA, @@ -2268,7 +2430,8 @@ enum Cipher { 128 ), // RC2_128_CBC_WITH_MD5 - SSL_CK_RC2_128_CBC_WITH_MD5("RC2-MD5", + SSL_CK_RC2_128_CBC_WITH_MD5( + "RC2-MD5", null, KeyExchange.RSA, Authentication.RSA, @@ -2282,7 +2445,8 @@ enum Cipher { 128 ), // RC2_128_CBC_EXPORT40_WITH_MD5 - SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5("EXP-RC2-MD5", + SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5( + "EXP-RC2-MD5", null, KeyExchange.RSA, Authentication.RSA, @@ -2299,7 +2463,8 @@ enum Cipher { /* TEMP_GOST_TLS*/ /* // Cipher FF00 - TLS_GOSTR341094_RSA_WITH_28147_CNT_MD5("GOST-MD5", + TLS_GOSTR341094_RSA_WITH_28147_CNT_MD5( + "GOST-MD5", null, KeyExchange.RSA, Authentication.RSA, @@ -2312,6 +2477,7 @@ enum Cipher { 256, ), TLS_RSA_WITH_28147_CNT_GOST94( + "GOST-GOST94", null, KeyExchange.RSA, @@ -2356,7 +2522,8 @@ enum Cipher { };*/ // Cipher 0x020080 - SSL2_RC4_128_EXPORT40_WITH_MD5("EXP-RC4-MD5", + SSL2_RC4_128_EXPORT40_WITH_MD5( + "EXP-RC4-MD5", null, KeyExchange.RSA, Authentication.RSA, Modified: tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java?rev=1614666&r1=1614665&r2=1614666&view=diff ============================================================================== --- tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java (original) +++ tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestCipher.java Wed Jul 30 14:29:15 2014 @@ -136,6 +136,31 @@ public class TestCipher { } + + /** + * Check that the elements of the Cipher enumeration are all using standard + * names from the TLS registry orare known exceptions. + */ + @Test + public void testNames() { + for (Cipher cipher : Cipher.values()) { + String name = cipher.name(); + // These do not appear in TLS registry + if (name.contains("FORTEZZA")) { + continue; + } + if (name.contains("EXPORT1024") || name.equals("TLS_DHE_DSS_WITH_RC4_128_SHA")) { + continue; + } + if (name.startsWith("SSL_CK") || name.startsWith("SSL2")) { + continue; + } + Assert.assertTrue("Non-registered name used in Cipher enumeration: " + cipher, + REGISTERED_NAMES.contains(name)); + } + } + + private static Set<String> getOpenSSLCiphersAsSet(String specification) throws Exception { String[] ciphers = getOpenSSLCiphersAsExpression(specification).trim().split(":"); Set<String> result = new HashSet<>(ciphers.length); @@ -601,4 +626,329 @@ public class TestCipher { return openSslUnmapped; } } + + + // Retrieved on 30 July 2014 from + // http://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#tls-parameters-4 + private static Set<String> REGISTERED_NAMES = Collections.unmodifiableSet( + new HashSet<>(Arrays.asList( + "TLS_NULL_WITH_NULL_NULL", + "TLS_RSA_WITH_NULL_MD5", + "TLS_RSA_WITH_NULL_SHA", + "TLS_RSA_EXPORT_WITH_RC4_40_MD5", + "TLS_RSA_WITH_RC4_128_MD5", + "TLS_RSA_WITH_RC4_128_SHA", + "TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5", + "TLS_RSA_WITH_IDEA_CBC_SHA", + "TLS_RSA_EXPORT_WITH_DES40_CBC_SHA", + "TLS_RSA_WITH_DES_CBC_SHA", + "TLS_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA", + "TLS_DH_DSS_WITH_DES_CBC_SHA", + "TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA", + "TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA", + "TLS_DH_RSA_WITH_DES_CBC_SHA", + "TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA", + "TLS_DHE_DSS_WITH_DES_CBC_SHA", + "TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA", + "TLS_DHE_RSA_WITH_DES_CBC_SHA", + "TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_DH_anon_EXPORT_WITH_RC4_40_MD5", + "TLS_DH_anon_WITH_RC4_128_MD5", + "TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA", + "TLS_DH_anon_WITH_DES_CBC_SHA", + "TLS_DH_anon_WITH_3DES_EDE_CBC_SHA", + "TLS_KRB5_WITH_DES_CBC_SHA", + "TLS_KRB5_WITH_3DES_EDE_CBC_SHA", + "TLS_KRB5_WITH_RC4_128_SHA", + "TLS_KRB5_WITH_IDEA_CBC_SHA", + "TLS_KRB5_WITH_DES_CBC_MD5", + "TLS_KRB5_WITH_3DES_EDE_CBC_MD5", + "TLS_KRB5_WITH_RC4_128_MD5", + "TLS_KRB5_WITH_IDEA_CBC_MD5", + "TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA", + "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA", + "TLS_KRB5_EXPORT_WITH_RC4_40_SHA", + "TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5", + "TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5", + "TLS_KRB5_EXPORT_WITH_RC4_40_MD5", + "TLS_PSK_WITH_NULL_SHA", + "TLS_DHE_PSK_WITH_NULL_SHA", + "TLS_RSA_PSK_WITH_NULL_SHA", + "TLS_RSA_WITH_AES_128_CBC_SHA", + "TLS_DH_DSS_WITH_AES_128_CBC_SHA", + "TLS_DH_RSA_WITH_AES_128_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_DH_anon_WITH_AES_128_CBC_SHA", + "TLS_RSA_WITH_AES_256_CBC_SHA", + "TLS_DH_DSS_WITH_AES_256_CBC_SHA", + "TLS_DH_RSA_WITH_AES_256_CBC_SHA", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_DH_anon_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_NULL_SHA256", + "TLS_RSA_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_AES_256_CBC_SHA256", + "TLS_DH_DSS_WITH_AES_128_CBC_SHA256", + "TLS_DH_RSA_WITH_AES_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_128_CBC_SHA256", + "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA", + "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA", + "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA", + "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA", + "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA", + "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA", + "TLS_DHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_DH_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DH_RSA_WITH_AES_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_AES_256_CBC_SHA256", + "TLS_DHE_RSA_WITH_AES_256_CBC_SHA256", + "TLS_DH_anon_WITH_AES_128_CBC_SHA256", + "TLS_DH_anon_WITH_AES_256_CBC_SHA256", + "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA", + "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA", + "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA", + "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA", + "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA", + "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA", + "TLS_PSK_WITH_RC4_128_SHA", + "TLS_PSK_WITH_3DES_EDE_CBC_SHA", + "TLS_PSK_WITH_AES_128_CBC_SHA", + "TLS_PSK_WITH_AES_256_CBC_SHA", + "TLS_DHE_PSK_WITH_RC4_128_SHA", + "TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA", + "TLS_DHE_PSK_WITH_AES_128_CBC_SHA", + "TLS_DHE_PSK_WITH_AES_256_CBC_SHA", + "TLS_RSA_PSK_WITH_RC4_128_SHA", + "TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA", + "TLS_RSA_PSK_WITH_AES_128_CBC_SHA", + "TLS_RSA_PSK_WITH_AES_256_CBC_SHA", + "TLS_RSA_WITH_SEED_CBC_SHA", + "TLS_DH_DSS_WITH_SEED_CBC_SHA", + "TLS_DH_RSA_WITH_SEED_CBC_SHA", + "TLS_DHE_DSS_WITH_SEED_CBC_SHA", + "TLS_DHE_RSA_WITH_SEED_CBC_SHA", + "TLS_DH_anon_WITH_SEED_CBC_SHA", + "TLS_RSA_WITH_AES_128_GCM_SHA256", + "TLS_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DH_RSA_WITH_AES_128_GCM_SHA256", + "TLS_DH_RSA_WITH_AES_256_GCM_SHA384", + "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256", + "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384", + "TLS_DH_DSS_WITH_AES_128_GCM_SHA256", + "TLS_DH_DSS_WITH_AES_256_GCM_SHA384", + "TLS_DH_anon_WITH_AES_128_GCM_SHA256", + "TLS_DH_anon_WITH_AES_256_GCM_SHA384", + "TLS_PSK_WITH_AES_128_GCM_SHA256", + "TLS_PSK_WITH_AES_256_GCM_SHA384", + "TLS_DHE_PSK_WITH_AES_128_GCM_SHA256", + "TLS_DHE_PSK_WITH_AES_256_GCM_SHA384", + "TLS_RSA_PSK_WITH_AES_128_GCM_SHA256", + "TLS_RSA_PSK_WITH_AES_256_GCM_SHA384", + "TLS_PSK_WITH_AES_128_CBC_SHA256", + "TLS_PSK_WITH_AES_256_CBC_SHA384", + "TLS_PSK_WITH_NULL_SHA256", + "TLS_PSK_WITH_NULL_SHA384", + "TLS_DHE_PSK_WITH_AES_128_CBC_SHA256", + "TLS_DHE_PSK_WITH_AES_256_CBC_SHA384", + "TLS_DHE_PSK_WITH_NULL_SHA256", + "TLS_DHE_PSK_WITH_NULL_SHA384", + "TLS_RSA_PSK_WITH_AES_128_CBC_SHA256", + "TLS_RSA_PSK_WITH_AES_256_CBC_SHA384", + "TLS_RSA_PSK_WITH_NULL_SHA256", + "TLS_RSA_PSK_WITH_NULL_SHA384", + "TLS_RSA_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256", + "TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256", + "TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256", + "TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256", + "TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256", + "TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256", + "TLS_EMPTY_RENEGOTIATION_INFO_SCSV", + "TLS_ECDH_ECDSA_WITH_NULL_SHA", + "TLS_ECDH_ECDSA_WITH_RC4_128_SHA", + "TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_NULL_SHA", + "TLS_ECDHE_ECDSA_WITH_RC4_128_SHA", + "TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA", + "TLS_ECDH_RSA_WITH_NULL_SHA", + "TLS_ECDH_RSA_WITH_RC4_128_SHA", + "TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_RSA_WITH_NULL_SHA", + "TLS_ECDHE_RSA_WITH_RC4_128_SHA", + "TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA", + "TLS_ECDH_anon_WITH_NULL_SHA", + "TLS_ECDH_anon_WITH_RC4_128_SHA", + "TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDH_anon_WITH_AES_128_CBC_SHA", + "TLS_ECDH_anon_WITH_AES_256_CBC_SHA", + "TLS_SRP_SHA_WITH_3DES_EDE_CBC_SHA", + "TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA", + "TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA", + "TLS_SRP_SHA_WITH_AES_128_CBC_SHA", + "TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA", + "TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA", + "TLS_SRP_SHA_WITH_AES_256_CBC_SHA", + "TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA", + "TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256", + "TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256", + "TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384", + "TLS_ECDHE_PSK_WITH_RC4_128_SHA", + "TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA", + "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA", + "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA", + "TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256", + "TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384", + "TLS_ECDHE_PSK_WITH_NULL_SHA", + "TLS_ECDHE_PSK_WITH_NULL_SHA256", + "TLS_ECDHE_PSK_WITH_NULL_SHA384", + "TLS_RSA_WITH_ARIA_128_CBC_SHA256", + "TLS_RSA_WITH_ARIA_256_CBC_SHA384", + "TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256", + "TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384", + "TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256", + "TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384", + "TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256", + "TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384", + "TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256", + "TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384", + "TLS_DH_anon_WITH_ARIA_128_CBC_SHA256", + "TLS_DH_anon_WITH_ARIA_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384", + "TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256", + "TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384", + "TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256", + "TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384", + "TLS_RSA_WITH_ARIA_128_GCM_SHA256", + "TLS_RSA_WITH_ARIA_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384", + "TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256", + "TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384", + "TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256", + "TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384", + "TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256", + "TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384", + "TLS_DH_anon_WITH_ARIA_128_GCM_SHA256", + "TLS_DH_anon_WITH_ARIA_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384", + "TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256", + "TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384", + "TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256", + "TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384", + "TLS_PSK_WITH_ARIA_128_CBC_SHA256", + "TLS_PSK_WITH_ARIA_256_CBC_SHA384", + "TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256", + "TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384", + "TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256", + "TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384", + "TLS_PSK_WITH_ARIA_128_GCM_SHA256", + "TLS_PSK_WITH_ARIA_256_GCM_SHA384", + "TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256", + "TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384", + "TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256", + "TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384", + "TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256", + "TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384", + "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384", + "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384", + "TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384", + "TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384", + "TLS_RSA_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_RSA_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_DHE_RSA_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_DHE_RSA_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_DH_RSA_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_DH_RSA_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_DHE_DSS_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_DHE_DSS_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_DH_DSS_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_DH_DSS_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_DH_anon_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_DH_anon_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256", + "TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384", + "TLS_PSK_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384", + "TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384", + "TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384", + "TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256", + "TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384", + "TLS_RSA_WITH_AES_128_CCM", + "TLS_RSA_WITH_AES_256_CCM", + "TLS_DHE_RSA_WITH_AES_128_CCM", + "TLS_DHE_RSA_WITH_AES_256_CCM", + "TLS_RSA_WITH_AES_128_CCM_8", + "TLS_RSA_WITH_AES_256_CCM_8", + "TLS_DHE_RSA_WITH_AES_128_CCM_8", + "TLS_DHE_RSA_WITH_AES_256_CCM_8", + "TLS_PSK_WITH_AES_128_CCM", + "TLS_PSK_WITH_AES_256_CCM", + "TLS_DHE_PSK_WITH_AES_128_CCM", + "TLS_DHE_PSK_WITH_AES_256_CCM", + "TLS_PSK_WITH_AES_128_CCM_8", + "TLS_PSK_WITH_AES_256_CCM_8", + "TLS_PSK_DHE_WITH_AES_128_CCM_8", + "TLS_PSK_DHE_WITH_AES_256_CCM_8", + "TLS_ECDHE_ECDSA_WITH_AES_128_CCM", + "TLS_ECDHE_ECDSA_WITH_AES_256_CCM", + "TLS_ECDHE_ECDSA_WITH_AES_128_CCM_8", + "TLS_ECDHE_ECDSA_WITH_AES_256_CCM_8"))); + } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org