Skip to content

bcprov-jdk15on-1.69.jar not works with JDK 8 -- 8u331 #1252

Closed

Description

@wei-kumar

-- Create keystores by using keytool command from 8u261, 8u291 and 8u331
-- Test them with ssl debug all and security debug all enabled on client.
-- Replication Steps :

  1. Do a 2 way ssl connections - successful.
  2. Trigger a soap service to load BC into the JVM
  3. Redo step#1. eg do another 2 way ssl connection -- this time it failed.

-- Test result of using different JDK8 version.
#1: 8u261: work
#2: 8u291: work
#3: 8u331: fail

For case #3:
-- In the test case, the first JSSE client test actually works successfully.
-- Only after the BounceCastle is loaded, the JSSE client becomes failed.
-- It's because this 8u331 keystore was created (by 8u331 keytool command) with new algorithm PBEWithHmacSHA256AndAES_256 which is not supported by Bouncy Castle.
-- The spec from BC shows that: https://www.bouncycastle.org/specifications.html
-- Look at the JCE Provider session, and this algorithm is not listed in the specs.
-- In the 2nd SSL connection, BC fails and falls back to SunJCE.
-- SunJCE fails to find the private key.

SunJCE failed to find the private key may be a different issue.
Question: how can BC keeps up with JDK new security changes. So things will not break.

Activity

  1. dghgit commented on Oct 24, 2022

    @dghgit
    Contributor

    Closing this as it's not a bug (although it may turn into one). As you say, we can't be responsible for changes made in the JVM after we've released a version, but you do realize we're now at 1.72?

  2. wei-kumar commented on Oct 31, 2022

    @wei-kumar
    Author

    Closing this as it's not a bug (although it may turn into one). As you say, we can't be responsible for changes made in the JVM after we've released a version, but you do realize we're now at 1.72?

    We have tried 1.72 and issue persistent. As long one use 2 ways SSL and loaded BC into JVM... 2 ways SSL no longer works.
    We also logged a bug against JDK Security team as well. Not sure how to position if we are the user on this case.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions