Author: markt
Date: Mon Aug 10 14:42:19 2015
New Revision: 1695089

URL: http://svn.apache.org/r1695089
Log:
Support both EDH and DHE versions of OpenSSL cipher names
Adds general support for OpenDSSL ciphers having old /alternative names
Should enable better code alignment between trunk and 8.0.x

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/Cipher.java
    
tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/OpenSSLCipherConfigurationParser.java
    
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestOpenSSLCipherConfigurationParserOnly.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=1695089&r1=1695088&r2=1695089&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 Mon 
Aug 10 14:42:19 2015
@@ -65,7 +65,8 @@ public enum Cipher {
             false,
             0,
             0,
-            "SSL_RSA_WITH_NULL_MD5"
+            new String[] {"SSL_RSA_WITH_NULL_MD5"},
+            null
     ),
     // Cipher 02
     TLS_RSA_WITH_NULL_SHA(
@@ -81,7 +82,8 @@ public enum Cipher {
             true,
             0,
             0,
-            "SSL_RSA_WITH_NULL_SHA"
+            new String[] {"SSL_RSA_WITH_NULL_SHA"},
+            null
     ),
     // Cipher 03
     TLS_RSA_EXPORT_WITH_RC4_40_MD5(
@@ -97,7 +99,8 @@ public enum Cipher {
             false,
             40,
             128,
-            "SSL_RSA_EXPORT_WITH_RC4_40_MD5"
+            new String[] {"SSL_RSA_EXPORT_WITH_RC4_40_MD5"},
+            null
     ),
     // Cipher 04
     TLS_RSA_WITH_RC4_128_MD5(
@@ -113,7 +116,8 @@ public enum Cipher {
             false,
             128,
             128,
-            "SSL_RSA_WITH_RC4_128_MD5"
+            new String[] {"SSL_RSA_WITH_RC4_128_MD5"},
+            null
     ),
     // Cipher 05
     TLS_RSA_WITH_RC4_128_SHA(
@@ -129,7 +133,8 @@ public enum Cipher {
             false,
             128,
             128,
-            "SSL_RSA_WITH_RC4_128_SHA"
+            new String[] {"SSL_RSA_WITH_RC4_128_SHA"},
+            null
     ),
     // Cipher 06
     TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5(
@@ -145,7 +150,8 @@ public enum Cipher {
             false,
             40,
             128,
-            "SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5"
+            new String[] {"SSL_RSA_EXPORT_WITH_RC2_CBC_40_MD5"},
+            null
     ),
     // Cipher 07
     TLS_RSA_WITH_IDEA_CBC_SHA(
@@ -161,7 +167,8 @@ public enum Cipher {
             false,
             128,
             128,
-            "SSL_RSA_WITH_IDEA_CBC_SHA"
+            new String[] {"SSL_RSA_WITH_IDEA_CBC_SHA"},
+            null
     ),
     // Cipher 08
     TLS_RSA_EXPORT_WITH_DES40_CBC_SHA(
@@ -177,7 +184,8 @@ public enum Cipher {
             false,
             40,
             56,
-            "SSL_RSA_EXPORT_WITH_DES40_CBC_SHA"
+            new String[] {"SSL_RSA_EXPORT_WITH_DES40_CBC_SHA"},
+            null
     ),
     // Cipher 09
     TLS_RSA_WITH_DES_CBC_SHA(
@@ -193,7 +201,8 @@ public enum Cipher {
             false,
             56,
             56,
-            "SSL_RSA_WITH_DES_CBC_SHA"
+            new String[] {"SSL_RSA_WITH_DES_CBC_SHA"},
+            null
     ),
     // Cipher 0A
     TLS_RSA_WITH_3DES_EDE_CBC_SHA(
@@ -209,7 +218,8 @@ public enum Cipher {
             true,
             112,
             168,
-            "SSL_RSA_WITH_3DES_EDE_CBC_SHA"
+            new String[] {"SSL_RSA_WITH_3DES_EDE_CBC_SHA"},
+            null
     ),
     /* The DH ciphers */
     // Cipher 0B
@@ -226,7 +236,8 @@ public enum Cipher {
             false,
             40,
             56,
-            "SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"
+            new String[] {"SSL_DH_DSS_EXPORT_WITH_DES40_CBC_SHA"},
+            null
     ),
     // Cipher 0C
     TLS_DH_DSS_WITH_DES_CBC_SHA(
@@ -242,7 +253,8 @@ public enum Cipher {
             false,
             56,
             56,
-            "SSL_DH_DSS_WITH_DES_CBC_SHA"
+            new String[] {"SSL_DH_DSS_WITH_DES_CBC_SHA"},
+            null
     ),
     // Cipher 0D
     TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA(
@@ -258,7 +270,8 @@ public enum Cipher {
             true,
             112,
             168,
-            "SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA"
+            new String[] {"SSL_DH_DSS_WITH_3DES_EDE_CBC_SHA"},
+            null
     ),
     // Cipher 0E
     TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA(
@@ -274,7 +287,8 @@ public enum Cipher {
             false,
             40,
             56,
-            "SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"
+            new String[] {"SSL_DH_RSA_EXPORT_WITH_DES40_CBC_SHA"},
+            null
     ),
     // Cipher 0F
     TLS_DH_RSA_WITH_DES_CBC_SHA(
@@ -290,7 +304,8 @@ public enum Cipher {
             false,
             56,
             56,
-            "SSL_DH_RSA_WITH_DES_CBC_SHA"
+            new String[] {"SSL_DH_RSA_WITH_DES_CBC_SHA"},
+            null
     ),
     // Cipher 10
     TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA(
@@ -306,7 +321,8 @@ public enum Cipher {
             true,
             112,
             168,
-            "SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA"
+            new String[] {"SSL_DH_RSA_WITH_3DES_EDE_CBC_SHA"},
+            null
     ),
     /* The Ephemeral DH ciphers */
     // Cipher 11
@@ -323,7 +339,8 @@ public enum Cipher {
             false,
             40,
             56,
-            "SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"
+            new String[] {"SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA"},
+            new String[] {"EXP-EDH-DSS-DES-CBC-SHA"}
     ),
     // Cipher 12
     TLS_DHE_DSS_WITH_DES_CBC_SHA(
@@ -339,7 +356,8 @@ public enum Cipher {
             false,
             56,
             56,
-            "SSL_DHE_DSS_WITH_DES_CBC_SHA"
+            new String[] {"SSL_DHE_DSS_WITH_DES_CBC_SHA"},
+            new String[] {"EDH-DSS-DES-CBC-SHA"}
     ),
     // Cipher 13
     TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA(
@@ -355,7 +373,8 @@ public enum Cipher {
             true,
             112,
             168,
-            "SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"
+            new String[] {"SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA"},
+            new String[] {"EDH-DSS-DES-CBC3-SHA"}
     ),
     // Cipher 14
     TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA(
@@ -371,7 +390,8 @@ public enum Cipher {
             false,
             40,
             56,
-            "SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"
+            new String[] {"SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA"},
+            new String[] {"EXP-EDH-RSA-DES-CBC-SHA"}
     ),
     // Cipher 15
     TLS_DHE_RSA_WITH_DES_CBC_SHA(
@@ -387,7 +407,8 @@ public enum Cipher {
             false,
             56,
             56,
-            "SSL_DHE_RSA_WITH_DES_CBC_SHA"
+            new String[] {"SSL_DHE_RSA_WITH_DES_CBC_SHA"},
+            new String[] {"EDH-RSA-DES-CBC-SHA"}
     ),
     // Cipher 16
     TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA(
@@ -403,7 +424,8 @@ public enum Cipher {
             true,
             112,
             168,
-            "SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA"
+            new String[] {"SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA"},
+            new String[] {"EDH-RSA-DES-CBC3-SHA"}
     ),
     // Cipher 17
     TLS_DH_anon_EXPORT_WITH_RC4_40_MD5(
@@ -419,7 +441,8 @@ public enum Cipher {
             false,
             40,
             128,
-            "SSL_DH_anon_EXPORT_WITH_RC4_40_MD5"
+            new String[] {"SSL_DH_anon_EXPORT_WITH_RC4_40_MD5"},
+            null
     ),
     // Cipher 18
     TLS_DH_anon_WITH_RC4_128_MD5(
@@ -435,7 +458,8 @@ public enum Cipher {
             false,
             128,
             128,
-            "SSL_DH_anon_WITH_RC4_128_MD5"
+            new String[] {"SSL_DH_anon_WITH_RC4_128_MD5"},
+            null
     ),
     // Cipher 19
     TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA(
@@ -451,7 +475,8 @@ public enum Cipher {
             false,
             40,
             128,
-            "SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA"
+            new String[] {"SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA"},
+            null
     ),
     // Cipher 1A
     TLS_DH_anon_WITH_DES_CBC_SHA(
@@ -467,7 +492,8 @@ public enum Cipher {
             false,
             56,
             56,
-            "SSL_DH_anon_WITH_DES_CBC_SHA"
+            new String[] {"SSL_DH_anon_WITH_DES_CBC_SHA"},
+            null
     ),
     // Cipher 1B
     TLS_DH_anon_WITH_3DES_EDE_CBC_SHA(
@@ -483,7 +509,8 @@ public enum Cipher {
             true,
             112,
             168,
-            "SSL_DH_anon_WITH_3DES_EDE_CBC_SHA"
+            new String[] {"SSL_DH_anon_WITH_3DES_EDE_CBC_SHA"},
+            null
     ),
     /* Fortezza ciphersuite from SSL 3.0 spec
      * Neither OpenSSL nor Java implement these ciphers and the IDs used
@@ -500,7 +527,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             false,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher 1D
     SSL_FORTEZZA_DMS_WITH_FORTEZZA_CBC_SHA(
@@ -514,7 +543,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             false,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher 1E - overlaps with Kerberos below
     SSL_FORTEZZA_DMS_WITH_RC4_128_SHA(
@@ -528,7 +559,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
      */
     /* The Kerberos ciphers. OpenSSL doesn't support these. Java does but they
@@ -546,7 +579,9 @@ public enum Cipher {
             EncryptionLevel.LOW,
             false,
             56,
-            56
+            56,
+            null,
+            null
     ),
     // Cipher 1F
     TLS_KRB5_WITH_3DES_EDE_CBC_SHA(
@@ -560,7 +595,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher 20
     TLS_KRB5_WITH_RC4_128_SHA(
@@ -574,7 +611,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 21
     TLS_KRB5_WITH_IDEA_CBC_SHA(
@@ -588,7 +627,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 22
     TLS_KRB5_WITH_DES_CBC_MD5(
@@ -602,7 +643,9 @@ public enum Cipher {
             EncryptionLevel.LOW,
             false,
             56,
-            56
+            56,
+            null,
+            null
     ),
     // Cipher 23
     TLS_KRB5_WITH_3DES_EDE_CBC_MD5(
@@ -616,7 +659,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher 24
     TLS_KRB5_WITH_RC4_128_MD5(
@@ -630,7 +675,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 25
     TLS_KRB5_WITH_IDEA_CBC_MD5(
@@ -644,7 +691,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 26
     TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA(
@@ -658,7 +707,9 @@ public enum Cipher {
             EncryptionLevel.EXP40,
             false,
             40,
-            56
+            56,
+            null,
+            null
     ),
     // Cipher 27
     TLS_KRB5_EXPORT_WITH_RC2_CBC_40_SHA(
@@ -672,7 +723,9 @@ public enum Cipher {
             EncryptionLevel.EXP40,
             false,
             40,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 28
     TLS_KRB5_EXPORT_WITH_RC4_40_SHA(
@@ -686,7 +739,9 @@ public enum Cipher {
             EncryptionLevel.EXP40,
             false,
             40,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 29
     TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5(
@@ -700,7 +755,9 @@ public enum Cipher {
             EncryptionLevel.EXP40,
             false,
             40,
-            56
+            56,
+            null,
+            null
     ),
     // Cipher 2A
     TLS_KRB5_EXPORT_WITH_RC2_CBC_40_MD5(
@@ -714,7 +771,9 @@ public enum Cipher {
             EncryptionLevel.EXP40,
             false,
             40,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 2B
     TLS_KRB5_EXPORT_WITH_RC4_40_MD5(
@@ -728,7 +787,9 @@ public enum Cipher {
             EncryptionLevel.EXP40,
             false,
             40,
-            128
+            128,
+            null,
+            null
     ),*/
 
     /* PSK cipher suites from RFC 4785 */
@@ -745,8 +806,10 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0),
-
+            0,
+            null,
+            null
+    ),
     // Cipher 2D
     TLS_DHE_PSK_WITH_NULL_SHA(
             0x002d,
@@ -760,8 +823,10 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0),
-
+            0,
+            null,
+            null
+    ),
     // Cipher 2E
     TLS_RSA_PSK_WITH_NULL_SHA(
             0x002e,
@@ -775,8 +840,10 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0),
-
+            0,
+            null,
+            null
+    ),
     /* New AES ciphersuites */
     // Cipher 2F
     TLS_RSA_WITH_AES_128_CBC_SHA(
@@ -791,7 +858,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 30
     TLS_DH_DSS_WITH_AES_128_CBC_SHA(
@@ -806,7 +875,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 31
     TLS_DH_RSA_WITH_AES_128_CBC_SHA(
@@ -821,7 +892,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 32
     TLS_DHE_DSS_WITH_AES_128_CBC_SHA(
@@ -836,7 +909,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 33
     TLS_DHE_RSA_WITH_AES_128_CBC_SHA(
@@ -851,7 +926,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 34
     TLS_DH_anon_WITH_AES_128_CBC_SHA(
@@ -866,7 +943,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 35
     TLS_RSA_WITH_AES_256_CBC_SHA(
@@ -881,7 +960,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 36
     TLS_DH_DSS_WITH_AES_256_CBC_SHA(
@@ -896,7 +977,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 37
     TLS_DH_RSA_WITH_AES_256_CBC_SHA(
@@ -911,7 +994,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 38
     TLS_DHE_DSS_WITH_AES_256_CBC_SHA(
@@ -926,7 +1011,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 39
     TLS_DHE_RSA_WITH_AES_256_CBC_SHA(
@@ -941,7 +1028,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 3A
     TLS_DH_anon_WITH_AES_256_CBC_SHA(
@@ -956,7 +1045,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     /* TLS v1.2 ciphersuites */
     // Cipher 3B
@@ -972,7 +1063,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher 3C
     TLS_RSA_WITH_AES_128_CBC_SHA256(
@@ -987,7 +1080,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 3D
     TLS_RSA_WITH_AES_256_CBC_SHA256(
@@ -1002,7 +1097,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 3E
     TLS_DH_DSS_WITH_AES_128_CBC_SHA256(
@@ -1017,7 +1114,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 3F
     TLS_DH_RSA_WITH_AES_128_CBC_SHA256(
@@ -1032,7 +1131,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 40
     TLS_DHE_DSS_WITH_AES_128_CBC_SHA256(
@@ -1047,7 +1148,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     /* Camellia ciphersuites from RFC4132 (
             128-bit portion) */
@@ -1064,7 +1167,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 42
     TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA(
@@ -1079,7 +1184,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 43
     TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA(
@@ -1094,7 +1201,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 44
     TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA(
@@ -1109,7 +1218,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 45
     TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA(
@@ -1124,7 +1235,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 46
     TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA(
@@ -1139,7 +1252,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     /* Experimental (and now expired) TLSv1 versions of SSLv3 ciphers.
      * Unsupported by Java and OpenSSL.
@@ -1156,7 +1271,8 @@ public enum Cipher {
             false,
             56,
             128,
-            "SSL_RSA_EXPORT1024_WITH_RC4_56_MD5"
+            new String[] {"SSL_RSA_EXPORT1024_WITH_RC4_56_MD5"},
+            null
     ),
     // Cipher 61
     TLS_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5(
@@ -1171,7 +1287,8 @@ public enum Cipher {
             false,
             56,
             128,
-            "SSL_RSA_EXPORT1024_WITH_RC2_CBC_56_MD"
+            new String[] {"SSL_RSA_EXPORT1024_WITH_RC2_CBC_56_MD"},
+            null
     ),
     // Cipher 62
     TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA(
@@ -1186,7 +1303,8 @@ public enum Cipher {
             false,
             56,
             56,
-            "SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA"
+            new String[] {"SSL_RSA_EXPORT1024_WITH_DES_CBC_SHA"},
+            null
     ),
     // Cipher 63
     TLS_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA(
@@ -1201,7 +1319,8 @@ public enum Cipher {
             false,
             56,
             56,
-            "SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA"
+            new String[] {"SSL_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA"},
+            null
     ),
     // Cipher 64
     TLS_RSA_EXPORT1024_WITH_RC4_56_SHA(
@@ -1216,7 +1335,8 @@ public enum Cipher {
             false,
             56,
             128,
-            "SSL_RSA_EXPORT1024_WITH_RC4_56_SHA"
+            new String[] {"SSL_RSA_EXPORT1024_WITH_RC4_56_SHA"},
+            null
     ),
     // Cipher 65
     TLS_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA(
@@ -1231,7 +1351,8 @@ public enum Cipher {
             false,
             56,
             128,
-            "SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA"
+            new String[] {"SSL_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA"},
+            null
     ),
     // Cipher 66
     TLS_DHE_DSS_WITH_RC4_128_SHA(
@@ -1246,7 +1367,8 @@ public enum Cipher {
             false,
             128,
             128,
-            "SSL_DHE_DSS_WITH_RC4_128_SHA"
+            new String[] {"SSL_DHE_DSS_WITH_RC4_128_SHA"},
+            null
     ),*/
     /* TLS v1.2 ciphersuites */
     // Cipher 67
@@ -1262,7 +1384,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 68
     TLS_DH_DSS_WITH_AES_256_CBC_SHA256(
@@ -1277,7 +1401,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 69
     TLS_DH_RSA_WITH_AES_256_CBC_SHA256(
@@ -1292,7 +1418,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 6A
     TLS_DHE_DSS_WITH_AES_256_CBC_SHA256(
@@ -1307,7 +1435,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 6B
     TLS_DHE_RSA_WITH_AES_256_CBC_SHA256(
@@ -1322,7 +1452,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 6C
     TLS_DH_anon_WITH_AES_128_CBC_SHA256(
@@ -1337,7 +1469,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 6D
     TLS_DH_anon_WITH_AES_256_CBC_SHA256(
@@ -1352,7 +1486,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     /* GOST Ciphersuites. Unsupported by Java. OpenSSl lists them with IDs
      * 0x3000080 to 0x3000083 */
@@ -1369,7 +1505,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 81
     TLS_GOSTR341001_WITH_28147_CNT_IMIT(
@@ -1383,7 +1521,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 82
     TLS_GOSTR341094_WITH_NULL_GOSTR3411(
@@ -1397,7 +1537,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             false,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher 83
     TLS_GOSTR341001_WITH_NULL_GOSTR3411(
@@ -1411,7 +1553,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             false,
             0,
-            0
+            0,
+            null,
+            null
     ),*/
     /* Camellia ciphersuites from RFC4132 (
             256-bit portion) */
@@ -1428,7 +1572,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 85
     TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA(
@@ -1443,7 +1589,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 86
     TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA(
@@ -1458,7 +1606,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 87
     TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA(
@@ -1473,7 +1623,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 88
     TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA(
@@ -1488,7 +1640,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 89
     TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA(
@@ -1503,7 +1657,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 8A
     TLS_PSK_WITH_RC4_128_SHA(
@@ -1518,7 +1674,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 8B
     TLS_PSK_WITH_3DES_EDE_CBC_SHA(
@@ -1533,7 +1691,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher 8C
     TLS_PSK_WITH_AES_128_CBC_SHA(
@@ -1548,7 +1708,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 8D
     TLS_PSK_WITH_AES_256_CBC_SHA(
@@ -1563,7 +1725,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 8E
     TLS_DHE_PSK_WITH_RC4_128_SHA(
@@ -1578,7 +1742,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 8F
     TLS_DHE_PSK_WITH_3DES_EDE_CBC_SHA(
@@ -1593,7 +1759,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher 90
     TLS_DHE_PSK_WITH_AES_128_CBC_SHA(
@@ -1608,7 +1776,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 91
     TLS_DHE_PSK_WITH_AES_256_CBC_SHA(
@@ -1623,7 +1793,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 92
     TLS_RSA_PSK_WITH_RC4_128_SHA(
@@ -1638,7 +1810,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 93
     TLS_RSA_PSK_WITH_3DES_EDE_CBC_SHA(
@@ -1653,7 +1827,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher 94
     TLS_RSA_PSK_WITH_AES_128_CBC_SHA(
@@ -1668,7 +1844,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 95
     TLS_RSA_PSK_WITH_AES_256_CBC_SHA(
@@ -1683,7 +1861,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     /* SEED ciphersuites from RFC4162 */
     // Cipher 96
@@ -1699,7 +1879,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 97
     TLS_DH_DSS_WITH_SEED_CBC_SHA(
@@ -1714,7 +1896,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 98
     TLS_DH_RSA_WITH_SEED_CBC_SHA(
@@ -1729,7 +1913,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 99
     TLS_DHE_DSS_WITH_SEED_CBC_SHA(
@@ -1744,7 +1930,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 9A
     TLS_DHE_RSA_WITH_SEED_CBC_SHA(
@@ -1759,7 +1947,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 9B
     TLS_DH_anon_WITH_SEED_CBC_SHA(
@@ -1774,7 +1964,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     /* GCM ciphersuites from RFC5288 */
     // Cipher 9C
@@ -1790,7 +1982,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 9D
     TLS_RSA_WITH_AES_256_GCM_SHA384(
@@ -1805,7 +1999,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher 9E
     TLS_DHE_RSA_WITH_AES_128_GCM_SHA256(
@@ -1820,7 +2016,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 9F
     TLS_DHE_RSA_WITH_AES_256_GCM_SHA384(
@@ -1835,7 +2033,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher A0
     TLS_DH_RSA_WITH_AES_128_GCM_SHA256(
@@ -1850,7 +2050,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher A1
     TLS_DH_RSA_WITH_AES_256_GCM_SHA384(
@@ -1865,7 +2067,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher A2
     TLS_DHE_DSS_WITH_AES_128_GCM_SHA256(
@@ -1880,7 +2084,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher A3
     TLS_DHE_DSS_WITH_AES_256_GCM_SHA384(
@@ -1895,7 +2101,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher A4
     TLS_DH_DSS_WITH_AES_128_GCM_SHA256(
@@ -1910,7 +2118,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher A5
     TLS_DH_DSS_WITH_AES_256_GCM_SHA384(
@@ -1925,7 +2135,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher A6
     TLS_DH_anon_WITH_AES_128_GCM_SHA256(
@@ -1940,7 +2152,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher A7
     TLS_DH_anon_WITH_AES_256_GCM_SHA384(
@@ -1955,7 +2169,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher A8
     TLS_PSK_WITH_AES_128_GCM_SHA256(
@@ -1970,7 +2186,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher A9
     TLS_PSK_WITH_AES_256_GCM_SHA384(
@@ -1985,7 +2203,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher AA
     TLS_DHE_PSK_WITH_AES_128_GCM_SHA256(
@@ -2000,7 +2220,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher AB
     TLS_DHE_PSK_WITH_AES_256_GCM_SHA384(
@@ -2015,7 +2237,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher AC
     TLS_RSA_PSK_WITH_AES_128_GCM_SHA256(
@@ -2030,7 +2254,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher AD
     TLS_RSA_PSK_WITH_AES_256_GCM_SHA384(
@@ -2045,7 +2271,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher AE
     TLS_PSK_WITH_AES_128_CBC_SHA256    (
@@ -2060,7 +2288,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher AF
     TLS_PSK_WITH_AES_256_CBC_SHA384    (
@@ -2075,7 +2305,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher B0
     TLS_PSK_WITH_NULL_SHA256           (
@@ -2090,7 +2322,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher B1
     TLS_PSK_WITH_NULL_SHA384           (
@@ -2105,7 +2339,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher B2
     TLS_DHE_PSK_WITH_AES_128_CBC_SHA256(
@@ -2120,7 +2356,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher B3
     TLS_DHE_PSK_WITH_AES_256_CBC_SHA384(
@@ -2135,7 +2373,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher B4
     TLS_DHE_PSK_WITH_NULL_SHA256       (
@@ -2150,7 +2390,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher B5
     TLS_DHE_PSK_WITH_NULL_SHA384       (
@@ -2165,7 +2407,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher B6
     TLS_RSA_PSK_WITH_AES_128_CBC_SHA256(
@@ -2180,7 +2424,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher B7
     TLS_RSA_PSK_WITH_AES_256_CBC_SHA384(
@@ -2195,7 +2441,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher B8
     TLS_RSA_PSK_WITH_NULL_SHA256       (
@@ -2210,7 +2458,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher B9
     TLS_RSA_PSK_WITH_NULL_SHA384       (
@@ -2225,7 +2475,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
 
     // Cipher BA
@@ -2241,7 +2493,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher BB
     TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA256(
@@ -2256,7 +2510,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher BC
     TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA256(
@@ -2271,7 +2527,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher BD
     TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA256(
@@ -2286,7 +2544,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher BE
     TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA256(
@@ -2301,7 +2561,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher BF
     TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA256(
@@ -2316,7 +2578,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C0
     TLS_RSA_WITH_CAMELLIA_256_CBC_SHA256(
@@ -2331,7 +2595,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C1
     TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA256(
@@ -2346,7 +2612,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C2
     TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA256(
@@ -2361,7 +2629,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C3
     TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA256(
@@ -2376,7 +2646,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C4
     TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA256(
@@ -2391,7 +2663,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C5
     TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA256(
@@ -2406,7 +2680,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
 
     /* Cipher 0x00FF  TLS_EMPTY_RENEGOTIATION_INFO_SCSV
@@ -2430,7 +2706,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher C002
     TLS_ECDH_ECDSA_WITH_RC4_128_SHA(
@@ -2445,7 +2723,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C003
     TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA(
@@ -2460,7 +2740,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher C004
     TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA(
@@ -2475,7 +2757,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C005
     TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA(
@@ -2490,7 +2774,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C006
     TLS_ECDHE_ECDSA_WITH_NULL_SHA(
@@ -2505,7 +2791,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher C007
     TLS_ECDHE_ECDSA_WITH_RC4_128_SHA(
@@ -2520,7 +2808,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C008
     TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA(
@@ -2535,7 +2825,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher C009
     TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA(
@@ -2550,7 +2842,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C00A
     TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA(
@@ -2565,7 +2859,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C00B
     TLS_ECDH_RSA_WITH_NULL_SHA(
@@ -2580,7 +2876,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher C00C
     TLS_ECDH_RSA_WITH_RC4_128_SHA(
@@ -2595,7 +2893,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C00D
     TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA(
@@ -2610,7 +2910,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher C00E
     TLS_ECDH_RSA_WITH_AES_128_CBC_SHA(
@@ -2625,7 +2927,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C00F
     TLS_ECDH_RSA_WITH_AES_256_CBC_SHA(
@@ -2640,7 +2944,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C010
     TLS_ECDHE_RSA_WITH_NULL_SHA(
@@ -2655,7 +2961,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher C011
     TLS_ECDHE_RSA_WITH_RC4_128_SHA(
@@ -2670,7 +2978,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C012
     TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA(
@@ -2685,7 +2995,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher C013
     TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA(
@@ -2700,7 +3012,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C014
     TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA(
@@ -2715,7 +3029,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C015
     TLS_ECDH_anon_WITH_NULL_SHA(
@@ -2730,7 +3046,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     // Cipher C016
     TLS_ECDH_anon_WITH_RC4_128_SHA(
@@ -2745,7 +3063,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C017
     TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA(
@@ -2760,7 +3080,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher C018
     TLS_ECDH_anon_WITH_AES_128_CBC_SHA(
@@ -2775,7 +3097,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C019
     TLS_ECDH_anon_WITH_AES_256_CBC_SHA(
@@ -2790,7 +3114,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     /* SRP ciphersuite from RFC 5054 */
     // Cipher C01A
@@ -2806,7 +3132,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher C01B
     TLS_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA(
@@ -2821,7 +3149,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher C01C
     TLS_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA(
@@ -2836,7 +3166,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher C01D
     TLS_SRP_SHA_WITH_AES_128_CBC_SHA(
@@ -2851,7 +3183,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C01E
     TLS_SRP_SHA_RSA_WITH_AES_128_CBC_SHA(
@@ -2866,7 +3200,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C01F
     TLS_SRP_SHA_DSS_WITH_AES_128_CBC_SHA(
@@ -2881,7 +3217,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C020
     TLS_SRP_SHA_WITH_AES_256_CBC_SHA(
@@ -2896,7 +3234,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C021
     TLS_SRP_SHA_RSA_WITH_AES_256_CBC_SHA(
@@ -2911,7 +3251,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C022
     TLS_SRP_SHA_DSS_WITH_AES_256_CBC_SHA(
@@ -2926,7 +3268,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     /* HMAC based TLS v1.2 ciphersuites from RFC5289 */
     // Cipher C023
@@ -2942,7 +3286,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C024
     TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384(
@@ -2957,7 +3303,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C025
     TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256(
@@ -2972,7 +3320,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C026
     TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384(
@@ -2987,7 +3337,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C027
     TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256(
@@ -3002,7 +3354,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C028
     TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384(
@@ -3017,7 +3371,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C029
     TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256(
@@ -3032,7 +3388,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C02A
     TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384(
@@ -3047,7 +3405,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     /* GCM based TLS v1.2 ciphersuites from RFC5289 */
     // Cipher C02B
@@ -3063,7 +3423,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C02C
     TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384(
@@ -3078,7 +3440,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C02D
     TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256(
@@ -3093,7 +3457,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C02E
     TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384(
@@ -3108,7 +3474,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C02F
     TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256(
@@ -3123,7 +3491,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C030
     TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384(
@@ -3138,7 +3508,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C031
     TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256(
@@ -3153,7 +3525,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C032
     TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384(
@@ -3168,7 +3542,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C033
     TLS_ECDHE_PSK_WITH_RC4_128_SHA(
@@ -3183,7 +3559,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C034
     TLS_ECDHE_PSK_WITH_3DES_EDE_CBC_SHA(
@@ -3198,7 +3576,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             112,
-            168
+            168,
+            null,
+            null
     ),
     // Cipher C035
     TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA(
@@ -3213,7 +3593,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C036
     TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA(
@@ -3228,7 +3610,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
 
     TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256(
@@ -3243,7 +3627,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384(
             0xC038,
@@ -3257,7 +3643,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     TLS_ECDHE_PSK_WITH_NULL_SHA(
             0xC039,
@@ -3271,7 +3659,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     TLS_ECDHE_PSK_WITH_NULL_SHA256(
             0xC03A,
@@ -3285,7 +3675,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
     TLS_ECDHE_PSK_WITH_NULL_SHA384(
             0xC03B,
@@ -3299,7 +3691,9 @@ public enum Cipher {
             EncryptionLevel.STRONG_NONE,
             true,
             0,
-            0
+            0,
+            null,
+            null
     ),
 
     /* ARIA ciphers 0xC03C to 0xC071
@@ -3318,7 +3712,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C073
     TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384(
@@ -3333,7 +3729,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C074
     TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256(
@@ -3348,7 +3746,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C075
     TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384(
@@ -3363,7 +3763,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C076
     TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256(
@@ -3378,7 +3780,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C077
     TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384(
@@ -3393,7 +3797,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C078
     TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256(
@@ -3408,7 +3814,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C079
     TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384(
@@ -3423,7 +3831,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             true,
             256,
-            256
+            256,
+            null,
+            null
     ),
 
     // Cipher C094
@@ -3439,7 +3849,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C095
     TLS_PSK_WITH_CAMELLIA_256_CBC_SHA384(
@@ -3454,7 +3866,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C096
     TLS_DHE_PSK_WITH_CAMELLIA_128_CBC_SHA256(
@@ -3469,7 +3883,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C097
     TLS_DHE_PSK_WITH_CAMELLIA_256_CBC_SHA384(
@@ -3484,7 +3900,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C098
     TLS_RSA_PSK_WITH_CAMELLIA_128_CBC_SHA256(
@@ -3499,7 +3917,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C099
     TLS_RSA_PSK_WITH_CAMELLIA_256_CBC_SHA384(
@@ -3514,7 +3934,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
     // Cipher C09A
     TLS_ECDHE_PSK_WITH_CAMELLIA_128_CBC_SHA256(
@@ -3529,7 +3951,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher C09B
     TLS_ECDHE_PSK_WITH_CAMELLIA_256_CBC_SHA384(
@@ -3544,7 +3968,9 @@ public enum Cipher {
             EncryptionLevel.HIGH,
             false,
             256,
-            256
+            256,
+            null,
+            null
     ),
 
     // Cipher 0x010080 (SSLv2)
@@ -3561,7 +3987,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 0x020080 (SSLv2)
     SSL2_RC4_128_EXPORT40_WITH_MD5(
@@ -3577,7 +4005,8 @@ public enum Cipher {
             false,
             40,
             128,
-            "SSL_RC4_128_EXPORT40_WITH_MD5"
+            new String[] {"SSL_RC4_128_EXPORT40_WITH_MD5"},
+            null
     ),
     // Cipher 0x030080 (SSLv2)
     // RC2_128_CBC_WITH_MD5
@@ -3593,7 +4022,9 @@ public enum Cipher {
             EncryptionLevel.MEDIUM,
             false,
             128,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 0x040080 (SSLv2)
     // RC2_128_CBC_EXPORT40_WITH_MD5
@@ -3609,7 +4040,9 @@ public enum Cipher {
             EncryptionLevel.EXP40,
             false,
             40,
-            128
+            128,
+            null,
+            null
     ),
     // Cipher 0x050080 (SSLv2)
     // IDEA_128_CBC_WITH_MD5
@@ -3625,7 +4058,8 @@ public enum Cipher {
             false,
             128,
             128,
-            "SSL_CK_IDEA_128_CBC_WITH_MD5"
+            new String[] {"SSL_CK_IDEA_128_CBC_WITH_MD5"},
+            null
     ),
     // Cipher 0x060040 (SSLv2)
     // DES_64_CBC_WITH_MD5
@@ -3642,7 +4076,8 @@ public enum Cipher {
             false,
             56,
             56,
-            "SSL_CK_DES_64_CBC_WITH_MD5"
+            new String[] {"SSL_CK_DES_64_CBC_WITH_MD5"},
+            null
     ),
     // Cipher 0x0700C0 (SSLv2)
     // DES_192_EDE3_CBC_WITH_MD5
@@ -3659,7 +4094,8 @@ public enum Cipher {
             false,
             112,
             168,
-            "SSL_CK_DES_192_EDE3_CBC_WITH_MD5"
+            new String[] {"SSL_CK_DES_192_EDE3_CBC_WITH_MD5"},
+            null
     );
 
     /* TEMP_GOST_TLS*/
@@ -3720,6 +4156,7 @@ public enum Cipher {
 
     private final int id;
     private final String openSSLAlias;
+    private final Set<String> openSSLAltNames;
     private final Set<String> jsseNames;
     private final KeyExchange kx;
     private final Authentication au;
@@ -3740,15 +4177,23 @@ public enum Cipher {
 
     private Cipher(int id, String openSSLAlias, KeyExchange kx, Authentication 
au, Encryption enc,
             MessageDigest mac, Protocol protocol, boolean export, 
EncryptionLevel level,
-            boolean fipsCompatible, int strength_bits, int alg_bits, String... 
jsseAltNames) {
+            boolean fipsCompatible, int strength_bits, int alg_bits, String[] 
jsseAltNames,
+            String[] openSSlAltNames) {
         this.id = id;
         this.openSSLAlias = openSSLAlias;
-        Set<String> names = new HashSet<>();
-        if (jsseAltNames != null) {
-            names.addAll(Arrays.asList(jsseAltNames));
+        if (openSSlAltNames != null && openSSlAltNames.length != 0) {
+            Set<String> altNames = new HashSet<>();
+            altNames.addAll(Arrays.asList(openSSlAltNames));
+            this.openSSLAltNames = Collections.unmodifiableSet(altNames);
+        } else {
+            this.openSSLAltNames = Collections.emptySet();
+        }
+        Set<String> jsseNames = new HashSet<>();
+        if (jsseAltNames != null && jsseAltNames.length != 0) {
+            jsseNames.addAll(Arrays.asList(jsseAltNames));
         }
-        names.add(name());
-        this.jsseNames = Collections.unmodifiableSet(names);
+        jsseNames.add(name());
+        this.jsseNames = Collections.unmodifiableSet(jsseNames);
         this.kx = kx;
         this.au = au;
         this.enc = enc;
@@ -3769,6 +4214,10 @@ public enum Cipher {
         return openSSLAlias;
     }
 
+    public Set<String> getOpenSSLAltNames() {
+        return openSSLAltNames;
+    }
+
     public Set<String> getJsseNames() {
         return jsseNames;
     }

Modified: 
tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/OpenSSLCipherConfigurationParser.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/OpenSSLCipherConfigurationParser.java?rev=1695089&r1=1695088&r2=1695089&view=diff
==============================================================================
--- 
tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/OpenSSLCipherConfigurationParser.java
 (original)
+++ 
tomcat/trunk/java/org/apache/tomcat/util/net/jsse/openssl/OpenSSLCipherConfigurationParser.java
 Mon Aug 10 14:42:19 2015
@@ -374,6 +374,17 @@ public class OpenSSLCipherConfigurationP
             }
             aliases.put(cipher.name(), Collections.singletonList(cipher));
 
+            for (String openSSlAltName : cipher.getOpenSSLAltNames()) {
+                if (aliases.containsKey(openSSlAltName)) {
+                    aliases.get(openSSlAltName).add(cipher);
+                } else {
+                    List<Cipher> list = new ArrayList<>();
+                    list.add(cipher);
+                    aliases.put(openSSlAltName, list);
+                }
+
+            }
+
             jsseToOpenSSL.put(cipher.name(), cipher.getOpenSSLAlias());
             Set<String> jsseNames = cipher.getJsseNames();
             for (String jsseName : jsseNames) {

Modified: 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestOpenSSLCipherConfigurationParserOnly.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestOpenSSLCipherConfigurationParserOnly.java?rev=1695089&r1=1695088&r2=1695089&view=diff
==============================================================================
--- 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestOpenSSLCipherConfigurationParserOnly.java
 (original)
+++ 
tomcat/trunk/test/org/apache/tomcat/util/net/jsse/openssl/TestOpenSSLCipherConfigurationParserOnly.java
 Mon Aug 10 14:42:19 2015
@@ -66,4 +66,14 @@ public class TestOpenSSLCipherConfigurat
         Assert.assertEquals(expected.toString(), result.toString());
     }
 
+    @Test
+    public void testRename01() throws Exception {
+        // EDH -> DHE
+        LinkedHashSet<Cipher> result =
+                
OpenSSLCipherConfigurationParser.parse("EXP-EDH-DSS-DES-CBC-SHA");
+        LinkedHashSet<Cipher> expected = new LinkedHashSet<>();
+        expected.add(Cipher.TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA);
+
+        Assert.assertEquals(expected, result);
+    }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to