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

sun/security/validator/KeyStores.class removed from 8u222

XMLWordPrintable

      ADDITIONAL SYSTEM INFORMATION :
      Ubuntu 16.04 - be good if you could include linux as an option under Operating System above.
      openjdk Version: 8u222-b10-1ubuntu1~16.04.1
      openjdk Version: 8u232-b10-1ubuntu1~16.04.1

      A DESCRIPTION OF THE PROBLEM :
      Package openjdk-8-jre-headless Version:
      8u222-b10-1ubuntu1~16.04.1 is missing
      sun/security/validator/KeyStores.class from /usr/lib/jvm/java-8-openjdk-
      amd64/jre/lib/rt.jar

      Relevant jars for 8u222 are as follows

      $ jar tvf /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar |grep 'sun/security/validator'
        858 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/CADistrustPolicy$1.class
        790 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/CADistrustPolicy$2.class
       2751 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/CADistrustPolicy.class
       7291 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/EndEntityChecker.class
      10709 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/PKIXValidator.class
       9588 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/SimpleValidator.class
       4582 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/SymantecTLSPolicy.class
       1398 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/TrustStoreUtil.class
       4562 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/Validator.class
       2224 Thu Jul 18 20:27:16 SAST 2019 sun/security/validator/ValidatorException.class

      Relevant jars for previous version 8u212 are as follows

      $ jar tvf /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar |grep 'sun/security/validator'
        858 Fri Apr 26 02:04:30 SAST 2019 sun/security/validator/CADistrustPolicy$1.class
        790 Fri Apr 26 02:04:30 SAST 2019 sun/security/validator/CADistrustPolicy$2.class
       2751 Fri Apr 26 02:04:30 SAST 2019 sun/security/validator/CADistrustPolicy.class
       7291 Fri Apr 26 02:04:28 SAST 2019 sun/security/validator/EndEntityChecker.class
       1295 Fri Apr 26 02:04:30 SAST 2019 sun/security/validator/KeyStores.class
      10709 Fri Apr 26 02:04:30 SAST 2019 sun/security/validator/PKIXValidator.class
       9588 Fri Apr 26 02:04:30 SAST 2019 sun/security/validator/SimpleValidator.class
       4582 Fri Apr 26 02:04:30 SAST 2019 sun/security/validator/SymantecTLSPolicy.class
       4557 Fri Apr 26 02:04:28 SAST 2019 sun/security/validator/Validator.class
       2224 Fri Apr 26 02:04:30 SAST 2019 sun/security/validator/ValidatorException.class

      Looks like KeyStores.class has been replaced by TrustStoreUtil.class in
      8u222

      This causes the following issue after upgrading from 8u212 to 8u222

      Exception in thread "main" java.lang.NoClassDefFoundError:
      sun/security/validator/KeyStores

      The class is also missing from openjdk 8u232

      The problem has also been reported on launchpad.net as bug 1838645

      REGRESSION : Last worked in version 8


      CUSTOMER SUBMITTED WORKAROUND :
      Extracting sun/security/validator/KeyStores.class from the java 8u212
      rt.jar and updating the java 8u222 rt.jar solves the problem.

      Eg. on the 8u222 (and 8u232) version do the following after extracting
      KeyStores.class from the 8u212 rt.jar

      jar uf /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/rt.jar
      sun/security/validator/KeyStores.class


      FREQUENCY : always


            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: