diff --git a/codec-http2/src/main/java/io/netty/handler/codec/http2/Http2SecurityUtil.java b/codec-http2/src/main/java/io/netty/handler/codec/http2/Http2SecurityUtil.java
index 2ddd16f63c..e0450fba58 100644
--- a/codec-http2/src/main/java/io/netty/handler/codec/http2/Http2SecurityUtil.java
+++ b/codec-http2/src/main/java/io/netty/handler/codec/http2/Http2SecurityUtil.java
@@ -34,26 +34,51 @@ public final class Http2SecurityUtil {
* href="https://wiki.mozilla.org/Security/Server_Side_TLS#Non-Backward_Compatible_Ciphersuite">Mozilla Cipher
* Suites in accordance with the HTTP/2 Specification.
+ *
+ * According to the
+ * JSSE documentation "the names mentioned in the TLS RFCs prefixed with TLS_ are functionally equivalent
+ * to the JSSE cipher suites prefixed with SSL_".
+ * Both variants are used to support JVMs supporting the one or the other.
*/
public static final List CIPHERS;
private static final List CIPHERS_JAVA_MOZILLA_INCREASED_SECURITY = Collections.unmodifiableList(Arrays
.asList(
/* Java 8 */
- "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384", /* openssl = ECDHE-ECDSA-AES256-GCM-SHA384 */
- "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256", /* openssl = ECDHE-ECDSA-AES128-GCM-SHA256 */
- "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384", /* openssl = ECDHE-RSA-AES256-GCM-SHA384 */
+ /* openssl = ECDHE-ECDSA-AES256-GCM-SHA384 */
+ "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ "SSL_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
+ /* openssl = ECDHE-ECDSA-AES128-GCM-SHA256 */
+ "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ "SSL_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
+ /* openssl = ECDHE-RSA-AES256-GCM-SHA384 */
+ "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+ "SSL_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
+
/* REQUIRED BY HTTP/2 SPEC */
- "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", /* openssl = ECDHE-RSA-AES128-GCM-SHA256 */
+ /* openssl = ECDHE-RSA-AES128-GCM-SHA256 */
+ "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+ "SSL_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
+
/* REQUIRED BY HTTP/2 SPEC */
- "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256", /* openssl = DHE-RSA-AES128-GCM-SHA256 */
- "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256" /* openssl = DHE-DSS-AES128-GCM-SHA256 */));
+ /* openssl = DHE-RSA-AES128-GCM-SHA256 */
+ "TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
+ "SSL_DHE_RSA_WITH_AES_128_GCM_SHA256",
+ /* openssl = DHE-DSS-AES128-GCM-SHA256 */
+ "TLS_DHE_DSS_WITH_AES_128_GCM_SHA256",
+ "SSL_DHE_DSS_WITH_AES_128_GCM_SHA256"
+ ));
private static final List CIPHERS_JAVA_NO_MOZILLA_INCREASED_SECURITY = Collections.unmodifiableList(Arrays
.asList(
/* Java 8 */
- "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384", /* openssl = DHE-RSA-AES256-GCM-SHA384 */
- "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384" /* openssl = DHE-DSS-AES256-GCM-SHA384 */));
+ /* openssl = DHE-RSA-AES256-GCM-SHA384 */
+ "TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
+ "SSL_DHE_RSA_WITH_AES_256_GCM_SHA384",
+ /* openssl = DHE-DSS-AES256-GCM-SHA384 */
+ "TLS_DHE_DSS_WITH_AES_256_GCM_SHA384",
+ "SSL_DHE_DSS_WITH_AES_256_GCM_SHA384"
+ ));
static {
List ciphers = new ArrayList(CIPHERS_JAVA_MOZILLA_INCREASED_SECURITY.size()