Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8087170

For *certain* sites: javax.net.ssl.SSLException: ..fatal alert: protocol_version

XMLWordPrintable

    • x86
    • windows_vista

      FULL PRODUCT VERSION :
      Microsoft Windows [Version 6.0.6002]
      Copyright (c) 2006 Microsoft Corporation. All rights reserved.

      C:\Users\faoadmin>java -version
      java version "1.8.0"
      Java(TM) SE Runtime Environment (build 1.8.0-b132)
      Java HotSpot(TM) Client VM (build 25.0-b70, mixed mode, sharing)

      C:\Users\faoadmin>

      ADDITIONAL OS VERSION INFORMATION :
      Microsoft Windows [Version 6.0.6002]
      Copyright (c) 2006 Microsoft Corporation. All rights reserved.

      A DESCRIPTION OF THE PROBLEM :
      The code below works perfectly well for most sites, but not "hubic.com", *not* with Java younger then 1.6. (1.7, 1.8.) The same little program works for 1.6. Examples of yet other sites can be provided upon request.


      It throws:
       javax.net.ssl.SSLException: Received fatal alert: protocol_version

      It is very easy to test. Compile with different SDKs.


              try {
                  CloseableHttpResponse execute = HttpClientBuilder.create().build().execute(new HttpGet("https://hubic.com"));
                  System.out.println(execute.toString());
              } catch (IOException e) {
                  e.printStackTrace();
              }

      REGRESSION. Last worked in version 6u45

      ADDITIONAL REGRESSION INFORMATION:
      I have done this above.

      STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
      Compile the code below with different SDKs. 1.6, 1,7, 1.8.

          public static void main(String[] args) {

              try {
                  CloseableHttpResponse execute = HttpClientBuilder.create().build().execute(new HttpGet("https://hubic.com"));
                  System.out.println(execute.toString());
              } catch (IOException e) {
                  e.printStackTrace();
              }

          }

      EXPECTED VERSUS ACTUAL BEHAVIOR :
      EXPECTED -
      I am expecting a clean "excute" object without exceptions thrown.

      ACTUAL -
      javax.net.ssl.SSLException: Received fatal alert: protocol_version

      REPRODUCIBILITY :
      This bug can be reproduced always.

      ---------- BEGIN SOURCE ----------
          public static void main(String[] args) {

              try {
                  CloseableHttpResponse execute = HttpClientBuilder.create().build().execute(new HttpGet("https://hubic.com"));
                  System.out.println(execute.toString());
              } catch (IOException e) {
                  e.printStackTrace();
              }

      ---------- END SOURCE ----------

      CUSTOMER SUBMITTED WORKAROUND :
      Use an older SDK (!)

            robm Robert Mckenna
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

              Created:
              Updated:
              Resolved: