0

I understand that TLS 1.2 isn't supported by JDK 6. But I'm a little confused as to what this means exactly.

In my project, I've set my apache httpclient to use TLSv1.2 like this. My project is compiled with mvn which uses jdk 1.6 to run. Maven -source and -target are set to 1.6.

I use jdk1.7/bin/java to call my application. And I see that my connection is using TLSv1.2.

So does this mean that the word "supported" is referring to the JVM version that is running the application and not the JVM that compiled the project?

OR

Apache httpclient’s TLS version is not bound by JDK version?

Eugène Adell
  • 3,089
  • 2
  • 18
  • 34
dono
  • 149
  • 1
  • 4
  • 16
  • TLS 1.2 **is** supported since [6u115 b32](http://www.oracle.com/technetwork/java/javase/overview-156328.html#6u115-b32) – Eugène Adell Jul 09 '18 at 08:03
  • `I use jdk1.7/bin/java ` - so you are using JDK7 then. I doesn't matter that you compiled it using JDK6 – rkosegi Jul 09 '18 at 08:15
  • Eugene - My jdk 1.6 is lower version than that. I've run couple tests. It seems that "supports" is referring to the jdk that is used to launch the application. When I tried launching with jdk 1.6, I see that I'm using TLSv1. @rkosegi yes, I was unsure if compiling with 1.6 would have an impact. – dono Jul 09 '18 at 08:17
  • @dono In my understanding, "supports" have different meanings according to the context. In the JSSE Reference Guide, it has the meaning you are saying (to be used if the runtime is at the good update level). In the Release Notes, this means that the JSSE is implementing it (it is coded in Oracle's Java, and the System Properties can be set at the startup). – Eugène Adell Jul 09 '18 at 08:33

2 Answers2

0

Your link Diagnosing TLS, SSL, and HTTPS doesn't provide perfect information, but it's not bad. It suggests reading the JSSE Reference Guides (and we will all suggest that) where are explained "is supported" and "is implemented" features. More or less clearly unfortunately. Remember that JSSE was designed to be pluggable with other security implementations, this means that the runtime can decide a couple of things and you can see different behaviours.

Eugène Adell
  • 3,089
  • 2
  • 18
  • 34
0

So does this mean that the word "supported" is referring to the JVM version that is running the application and not the JVM that compiled the project?

Yes!

Only what matters in this case is version of runtime libraries on classpath.

rkosegi
  • 14,165
  • 5
  • 50
  • 83