On Tue, 13 Jun 2023 20:36:28 GMT, Anthony Scarpino <[email protected]>
wrote:
> Hi,
>
> I need a code review for moving the contents of the jdk.crypto.ec module into
> java.base. This moves the SunEC JCE Provider (Elliptic Curve) into
> java.base. EC has always been separate from the base module/pkg because of
> its dependence on a native library. That library was removed in JDK 16. An
> empty jdk.crypto.ec module will remain for compatibility, but marked as
> deprecated with the intent to be removed in a future release.
>
> There should be no compatibility risk for application using EC through JCE.
> There are no public API changes to EC, XEC, and EdDSA classes . Applications
> that unwisely accessing internal EC classes will need to use the java.base
> module.
>
> Thanks
>
> Tony
test/jdk/sun/security/ec/ecModuleCheck.java line 43:
> 41: throw new AssertionError("jdk.crypto.ec module does not
> exist");
> 42: }
> 43: System.out.println("jdk.crypto.ec module exists");
`@modules jdk.crypto.ec` in the test description means this test will not be
selected/executed if the jdk.crypto.ec is not the run-time image. It also means
the test with run with `--add-modules jdk.crypto.ec` which is not what you
want. I think this is closer to what you want in this test:
assertTrue(ModuleFinder.ofSystem().find("jdk.crypto.ec").isPresent());
assertFalse(ModuleLayer.boot().findModule("jdk.crypto.ec").isPresent());
This tests that the jdk.crypto.ec is observable but is not resolved.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/14457#discussion_r1235086798