Skip to content
Advertisement

Java 7 support of AES-GCM in SSL/TLS?

According to Java 7 documentation as well as third party vendors, it appears Java 7 should support AES-GCM suites:

  1. ibm java 7
  2. java 7 ssl doc

I was hitting some errors in negotiation between client and server unable to negotiate a cipher due to restricting it to only the AES-GCM ciphers. After investigation I found that it appears that the cipher suites are not supported on client nor server (tomcat instance). Ran some sample code on client to get the output:

JavaScript

Did not know if anyone else has come across such an issue.

Does Java 7 support use of AES-GCM in SSL/TLS?

Advertisement

Answer

AES-GCM is available in TLS v1.2. See [The Transport Layer Security (TLS) Protocol Version 1.2][1], section 6.2.3.3. TLSv1.1 did not add any cipher suites, and TLSv1.0 never had AES-GCM or the elliptic curve gear. (The elliptic curve stuff showed up in TLSv1.2 also).

The latest public build 80 of Java 7

  • does support TLSv1.2 after changing code to use SSLContext.getInstance("TLSv1.2") in case of socket programming or just declaring the -Dhttps.protocols=TLSv1.2 in case of HTTP programming.

  • does not support the AES-GCM cipher suite even under TLSv1.2, according to a request implemented only in a commercial build 191 of Java 7,

    https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8180834

Its interesting that the TLS_ECDHE_ECDSA_* cipher suites are showing up in your dump since they are TLSv1.2 ciphers.

User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement